2011-09-05 8 views
1

가 나는 AJAX 호출을 그리고 난 다음 얻을 :다음 AJAX 응답을 Javascript로 어떻게 파싱합니까?

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

은 내가 결과 요소로 할 수있는 것은 자바 스크립트를 사용하여 정렬되지 않은 목록을 확인하는 것입니다. 예 :

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

누군가가 도움을 줄 수 있습니까? 이 같은

+0

를 시도? 너의 문제는 무엇인가? JSON을 JS 객체로 변환하려면? 또는 속성을 반복하려면? –

+0

응답을 구문 분석하는 데 문제가 있습니까? 아니면 당신이 그 다음에 표시 할 수있는 요소에 넣는 방법을 모른다는 것입니까? –

+0

저는 그것을 요소에 넣는 방법을 모르겠습니다. 나는 아래의 함수를보고 자바 스크립트 변환에 더 쉬운 JSON이 있다고 생각했다. – jini

답변

2

이 좋은 연습은 너무 :

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

뭔가 일을해야

감사 :

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

한 다음 동적으로 목록을 만들 수 html 문자열을 사용할 수 있습니다.

0

이 그것을 할 것입니다 : 당신은 무엇을

// 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); 
관련 문제