jquery, ajax передача данных в формате JSON
Здрасвуйте.
$.getJSON('php/module/feedback.php', {
'data':sData
}, feedbackStatus);
sData - JSON объект. в пхп файл передаеться перменная data, только ее значение [Objecy objet], вместо JSON формата. как правильно сделать запрос, чтобы в пхп можно было использовать json_decode? П.С. соль еше в том что если предаю просто стринговую переменную
$.getJSON('php/module/feedback.php', {
'data':'{"first":"one"}'
}, feedbackStatus);
то пхп файл получает ее, но декодить json не поулчаеться. то етсь
$t = json_decode($data)
echo $t->{'first'}; // ничего не выведет
а если же
$t = json_decode('{"first":"one"}')
echo $t->{'first'}; // все нормально
суть вопроса: как из яваскрипта передать файлы пхп обработчку в формате JSON чтобы можешть было использовать пхп функцию json_decode? |
$.getJSON('php/module/feedback.php', {
data: {
param: sData
}
}, feedbackStatus);
<?php json_decode($_REQUEST['param']) ?>Посмотрите предварительно, валидна ли JSON-строка на сервере, а то может какие-нибудь magic quotes портят её. А зачем на сервер в формате JSON данные передавать? |
Цитата:
а насчет json_decode JSON был валидный проблема была в том что все кавчки эскейпились. когда сделал элементраное
$d= str_replace('\\','',$_REQUEST['data']);
все заработало |
Цитата:
|
а как тогда передать такую строку если имена инпутов изначально не известны.
хотя проще было бы и так. просто URI строку собрать.. и передать) я просто зациклился на $.getJSN() и долбил в одну точку) |
|
Octane, не модно:) Уже усторевает такой подход.
Поэтому:
$.getJSON('php/module/feedback.php', {
data: {
param: JSON.stringify(sData)
}
}, feedbackStatus);
$param = json_decode($_POST['param']); |
_AXE_,
но для етого вроде нужно доп. плагин подключать. проблема была в том что все кавычки " эскейпились при передаче. только полсе str_replace('\\','',$var) работат json_decode. |
Цитата:
|
Цитата:
|
Вопрос.
Сервер возвращает ответ в формате json. Нужно разобрать строку, и сделать некоторые действия. Результат ловлю и далее делаю eval ('(' + data + ')'); Но как узнать, точно ли от сервера пришел ответ в формате json ? На сервере не получается это сделать (возможна ошибка скрипта). |
Такая же фигня была, спасибо со совет!
|
| Часовой пояс GMT +3, время: 23:58. |