Невозможно использовать данные, отправленные обратно из моего файла Json на веб-страницу - PullRequest
0 голосов
/ 08 апреля 2011

У меня есть файл json, из которого я могу вернуть результат. У меня проблема в том, что я не могу получить результаты обратно на страницу (так сказать). Я думаю, что это связано с форматом Json, который я не могу контролировать, и выглядит так:

[
[
    {
        "Key": "AddressLine1",
        "Value": "Acacia Avenue"
    },
    {
        "Key": "AddressLine2",
        "Value": "secondlineofaddress"
    },
    {
        "Key": "City",
        "Value": "someCity"
    },
    {
        "Key": "HouseNameOrNumber",
        "Value": "2"
    },
    {
        "Key": "Postcode",
        "Value": "sdlfkjhsdljkf"
    }
]

]

JavaScript выглядит следующим образом

    $('#addressFinder').click(function (e) {
    e.preventDefault();
    var value01 = $("#Address_HouseNameOrNumber").val();
    var value02 = $("#Address_Postcode").val();
    $.ajax({
        url: '/addresstomyjSON/AddressSearch',
        type: 'POST',
        dataType: 'json',
        data: {
            houseNo: value01,
            postCode: value02
        },
        success: function (data) {


            var items = [];

            $.each(data, function (key, val) {
                items.push('<li id="' + key + '">' + val + '</li>');
            });

            $('<ul/>', {
                'class': 'my-new-list',
                html: items.join('')
            }).appendTo('#body');

    });
});

Итак, я пытаюсь записать адрес в виде списка результатов, которые я получаю, текущий код представляет собой один тег li с идентификатором 0, а затем [объект объекта] повторяется 5 раз. Я думаю, что это связано с тем, как я пытаюсь установить переменную в функциях успеха, но я не уверен, какой правильный синтаксис использовать. Кто-нибудь может мне помочь?

Заранее спасибо

1 Ответ

3 голосов
/ 08 апреля 2011

Это массив в массиве, поэтому попробуйте сделать $.each(data[0], ...

Редактировать: ещё

$.each(data[0], function () {
    items.push('<li id="' + this.Key + '">' + this.Value + '</li>');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...