Не удалось получить доступ к свойству в возвращенном объекте json - PullRequest
0 голосов
/ 10 февраля 2012

Я получаю ответ от ajax-запроса и сохраняю request.responseText в переменной с именем requestData. requestData данные содержат передачу объекта json по php с использованием json_encode ().

Посмотрите пару журналов, которые я сделал ниже.

requestData : {"status":"ok","to":"","html":"<option value=\"Huberdeau\">Huberdeau<\/option><option value=\"Bo\u00eeleau\">Bo\u00eeleau<\/option><option value=\"Br\u00e9beuf\">Br\u00e9beuf<\/option><option value=\"Saint-R\u00e9mi-d'Amherst\">Saint-R\u00e9mi-d'Amherst<\/option><option value=\"Harrington\">Harrington<\/option>","message":"old"}

Моя проблема в том, что я могуне получить доступ к переменной статуса.Ни один из следующих вызовов не получает значение должным образом.

requestData[status] : undefined
requestData.status : undefined
requestData['status'] : undefined
requestData[0]['status'] : undefined

И когда я пытался вывести свою переменную из журнала for, он обрабатывал ее как строку.

dump_var :
0:{
1:"
2:s
3:t
4:a
5:t
6:u
7:s
8:"
9::

Ответы [ 2 ]

1 голос
/ 09 апреля 2013

в jQuery

вместо $ .get

используйте $ .getJSON

$.getJSON(url, function(data){
     alert(data.someField);
});

тогда тебе не нужно делать eval !!

0 голосов
/ 10 февраля 2012

Я нашел хитрость в комментарии к другому вопросу.В любом случае, я публикую это здесь, потому что в оригинальном обсуждении .

var requestData = request['responseText'];
var jsonData = eval("( " + requestData + ")");
это немного сложно
...