Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Получение ajax ответа в виде json.


Автор: Хоббит 29.7.2008, 15:35
Использую prototype. Посылаю асинхронный запрос, жду ответ в виде json. Ответ приходит и остается в свойстве transport.responseText, ... transport.responseJSON = null

Что сделать для того, чтобы преобразовать текст в JSON.
Необходимо установить какие то заголовки ответа сервера?
Или надо делать это в ручную, через какую либо функцию?

Автор: krundetz 29.7.2008, 15:51
JSON это способ передачи ответа с сервера на клиент и вы его должны формировать на сервере.

Если на сервере вы его формируете то преедав его на клиент можно получить из него обект для этого необходимо скормить пришедшую строку текста функии eval() и присвоить возвращаемой ей результат какой либо переменной теперь у вас есть обект который вы можете использовать в коде.

Автор: 12345c 30.7.2008, 02:53
Код

transport.responseJSON=eval(transport.responseText); //после приёма
Но вопрос сильно похож на то, что responseJSON взято из библиотеки и должно работать само. Тогда выполняйтек аякс-запрос средствами этой библиотеки.

Автор: Хоббит 6.8.2008, 13:13
Надо было Content-type установить в text/json.

Автор: OutlawZ 31.1.2012, 21:25
Можно пример как правильно отправлять Ajax запрос из формы для получения JSON ответа, буду признателен. Желательно с  использование Prototype

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)