Разбор JSON из данных об успехе JQuery.ajax - PullRequest
70 голосов
/ 13 марта 2011

У меня проблемы с получением содержимого объекта JSON из вызова JQery.ajax. Мой звонок:

$('#Search').click(function () {
    var query = $('#query').valueOf();
    $.ajax({
        url: '/Products/Search',
        type: "POST",
        data: query,
        dataType: 'application/json; charset=utf-8',
        success: function (data) {
            alert(data);
            for (var x = 0; x < data.length; x++) {
                content = data[x].Id;
                content += "<br>";
                content += data[x].Name;
                content += "<br>";
                $(content).appendTo("#ProductList");
               // updateListing(data[x]);
            }
        }
    });
});

Кажется, что объект JSON возвращается правильно, потому что "alert (data)" отображает следующее

[{"Id": "1", "Name": "Shirt"}, {"Id": "2", "Name":"Pants"}]

но когда я пытаюсь отобразить Id или Name на странице, используя:

content = data[x].Id;
content += "<br>";
content += data[x].Name;
content += "<br>";

возвращает «неопределенное» на страницу. Что я делаю не так?

Спасибо за помощь.

Ответы [ 11 ]

0 голосов
/ 21 декабря 2015

Из API jQuery: с настройкой dataType, если ничего не указано, jQuery попытается вывести его с $.parseJSON() на основе типа MIME (тип MIME для текста JSON - «application / json»)ответа (в 1.4 JSON даст объект JavaScript).

Или вы можете установить dataType на json для автоматического преобразования.

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