2012-05-31 2 views
1

У меня есть запрос jquery - ajax, он обеспечивает вывод в формате json. Если моя догадка правильная, то полученный ответ ajax будет разобран. Я хотел бы получить исходные исходные данные, т. Е. Ответ без разбора. Является ли это возможным ?Получение вывода ajax без синтаксического анализа

+1

Вы сделали' console.log' значения 'J '? Я уверен, что метод .ajex возвращает строку (или что-то, что возвращает ваш код), и вам решать либо сделать «eval», либо проанализировать его, чтобы получить объект javascript. – RemarkLima

+0

no ajax request дает нам разобранный вывод. – user1371896

ответ

4

Удалить dataType : "json", или изменить его на dataType : "text", или просто получить доступ к responseText свойство jqXHR object (в зависимости от того, что вы хотите делать с данными).

Для получения более подробной информации, ознакомиться с документацией: http://api.jquery.com/jQuery.ajax/.

+0

удаление типа данных или присвоение типа в виде текста nt wrk .. – user1371896

+0

Ну, я дал вам третий вариант, получив доступ к запросу 'responseText';) –

0

Если вы 100% уверены, что вы получаете JavaScript объект назад (я всегда разобран мое возвращение из метода $.ajax()), то вам нужно stringify объекта.

См: http://www.json.org/js.html

И здесь: https://github.com/douglascrockford/JSON-js скачать файл "json.js".

С этим файлом вы можете parse и stringify по мере необходимости.

Таким образом, чтобы получить текстовую версию, вы могли бы сделать:

var sObj = JSON.stringify(j); 
console.log(sObj); 

Однако, от того, что я прочитал, что вам нужно будет разобрать обратный объект:

функцию, которая будет если запрос успешно завершен. Функция получает три аргумента: данные, возвращаемые с сервера, отформатированные в соответствии с параметром dataType;

Так он отформатирован как JSON «строка», которая будет по-прежнему должны быть разобраны или (быстрая и грязная) eval «d

Смежные вопросы