Как мне разобрать следующий ответ AJAX в Javascript? - PullRequest
1 голос
/ 05 сентября 2011

Я делаю вызов AJAX и получаю следующее:

{"status":"Results Found","errorcode":"0","result":[{"name":"test","id":"1"},{"name":"some","id":"2"}]}

Что я хочу сделать с элементом result, это создать неупорядоченный список с использованием JavaScript.Например:

<ul>
<li> test </li>
<li> some </li>
</ul>

Может ли кто-нибудь помочь?

Спасибо

Ответы [ 3 ]

2 голосов
/ 05 сентября 2011

и это тоже хорошая практика:

var q = '{"status":"Results Found","errorcode":"0","result":[{"name":"test","id":"1"},{"name":"some","id":"2"}]}';
var o = $.parseJSON(q);
alert(o.status); // for test, remove it
alert(o.errorcode); // for test, remove it
var ul = "<ul>";
for (var i = 0; i < o.result.length; i++) {
    alert(o.result[i].name + " = " + o.result[i].id); // for test, remove it
    ul += "<li>" + o.result[i].name + "</li>";
}
ul += "</ul>"; // final html, use it
1 голос
/ 05 сентября 2011

Примерно так должно работать:

var html = "<ul>";
for (var i = 0; i < data["result"].length; i++) {
  html += "<li>" + data["result"][i] + "</li>";
}
html += "</ul>";

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

0 голосов
/ 05 сентября 2011

Это сделает это:

// TODO: global variable 'ajax' should be an XMLHttpRequest instance.
// TODO: change last line 'document.body.appendChild' to append where you need to.
var response = JSON.parse( ajax.responseText );
var results = response.result;
var ul = document.createElemnt('ul');
var li;

for (var i = 0; i < results.length; i++) {
    li = document.createElement('li');
    li.innerHTML = results[ i ].name;
    ul.appendChild(li);
}

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