json을 사용하여 레코드를 읽습니다. 그때 루프가 기록 json이 아약스와 함께 작동하지 않지만 직접 사용하면 잘 작동합니다.
for(var events_count=0;events_count<events.length;events_count++)
{
//read records and works perfectly fine
}
하지만이 같은 사용 아약스를하고있는 중이 야 때, 그것은 작동하지 않습니다를 읽고이
var events=[{eventId:"1", event_name:"wedding"},{eventId:"2", event_name:"interview"}]
같은 자바 스크립트 내에서 사용할 경우 완벽하게 잘 작동합니다. 심지어 (아약스 - 수 - events.php) 페이지라는 아약스의 텍스트
{eventId:"1", event_name:"wedding"},{eventId:"2", event_name:"interview"}
넣어 가지고, 그것은
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//got data in same format as above in xmlhttp.responseText and used eval to parse it
events = eval('(' + xmlhttp.responseText + ')');
//I have tried to alert(events) and it shows [object object]
for(var events_count=0;events_count<events.length;events_count++)
{
//loop doesn't work at all
}
}
}
xmlhttp.open("GET","ajax-get-events.php",true);
xmlhttp.send();
내가없는 누구인지 알려주세요 루프 내부에 가지 않는다 .
감사
'responseText'가 JSON이라면 왜 구문 분석하기 위해'JSON.parse()'대신에'eval()'을 사용하고 있습니까? 또한 AJAX 요청에서 반환 된 응답 텍스트를 포함 할 수 있습니까? –
1) 평가하지 마십시오. 더 나은 대안이 있습니다 2) responseText의 console.log를 만드십시오 –
JSON이 유효하지 않습니다. [테스트 (http://jsonlint.com) I는 [ 를 만들어 유효 JSON로 변환 한 – Quentin