Im пытается передать массив mulitidimensional Javascript на другую страницу на моем сайте по:как использовать JSON.stringify и json_decode() правильно
с использованием JSON.stringify на массиве
присваиваемого полученное значение в поле ввода
разместить это поле на вторую страницу
с использованием json_d ecode на публикуемую значение
затем var_dump испытать
(echo'ing посланной переменную непосредственно только, чтобы увидеть, если он пришел через на всех)
Javascript на первой странице :
var JSONstr = JSON.stringify(fullInfoArray);
document.getElementById('JSONfullInfoArray').value= JSONstr;
PHP на второй странице:
$data = json_decode($_POST["JSONfullInfoArray"]);
var_dump($data);
echo($_POST["JSONfullInfoArray"]);
Эхо работает нормально, но var_dump возвращает NULL
Что я сделал не так?
Это заставило меня устроились:
$postedData = $_POST["JSONfullInfoArray"];
$tempData = str_replace("\\", "",$postedData);
$cleanData = json_decode($tempData);
var_dump($cleanData);
Я не уверен, почему, но пост шел через с кучей «\» символов, отделяющих каждую переменную в строке
Вычислено с использованием json_last_error()
, как было получено Бартом, который вернулся JSON_ERROR_SYNTAX
Проверьте содержимое '$ _POST [ "JSONfullInfoArray"]'. Если что-то не разбирается, 'json_code' просто вернет' null'. Также используйте 'json_last_error()', чтобы попытаться найти то, что пошло не так. – Bart
Немного HTML-формы формы тоже помогут. Просмотрите запрос, используя инспектор вашего браузера, вы видите, чего вы ожидаете? – SuperSaiyan
@Bart см. Править выше, вы получили меня там, где мне нужно было, набросились на ответ, и я принимаю его :), большое спасибо – DelightedD0D