JSON из jQuery в PHP - PullRequest
       41

JSON из jQuery в PHP

0 голосов
/ 09 апреля 2010

Мне нужно передать объект JSON из функции $ .post () jQuery на страницу PHP.
Я пробовал этот плагин jquery-json, но не работает:

//include jquery.js and jquery.json.js

$(document).ready(function(){ 
   var data = new Object(); 
   data.hello = "Hello"; 
   data.world = "World"; 
   var datajson = $.toJSON(data); 
   $.post('file.php', {data: datajson}, function(res){ 
   alert(res);
   }); 
});

И file.php имеет следующую простую строку:

<?
var_dump(json_decode($_REQUEST['data'], true));
?>

В чем проблема?

Ответы [ 6 ]

2 голосов
/ 09 апреля 2010

Несколько вещей:

вы не объявляете переменную datajson, если она будет


$.post('file.php', {data: dataString}, function(res){ 
   alert(res);
}); 

вместо

Похоже, у вас также есть тип в вашем PHP: son_decode должен быть json_decode.

0 голосов
/ 22 января 2012

PHP может добавлять косые черты из-за настройки Magic Quotes.Простое решение - обернуть вокруг него полоски () следующим образом:

$data = stripslashes(json_decode($_REQUEST['data'], true));

Более подробный ответ здесь. Также вам, вероятно, следует использовать $_POST вместо $_REQUEST для безопасностипричины.

0 голосов
/ 09 апреля 2010

Проверьте с помощью phpinfo(), что php-json действительно доступен. В некоторых установках это не так.

0 голосов
/ 09 апреля 2010

Просто убедитесь, что ваш PHP> = 5.2.0 Если это не так, вы можете включить библиотеку compat, похожую на библиотеку http://pear.php.net/pepr/pepr-proposal-show.php?id=198

0 голосов
/ 09 апреля 2010

Параметры Firebug в порядке, но предупреждение возвращает NULL.
Проблема с PHP?

0 голосов
/ 09 апреля 2010

Я думаю, что эта функция написана с ошибкой son_decode

Это должно быть json_decode ссылка здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...