JSON 개체에서 일련의 문자열을 가져 와서 하나의 큰 문자열로 연결하려고합니다. 루프를 사용하여 루프의 모든 반복에서 각 새 문자열을 추가하는 것이 꽤 분명했습니다. 그러나 실제로 플러그를 꽂았을 때 이상한 오류가 나타납니다.자바 스크립트를 사용하여 JSON에서 정보를 동적으로 검색합니다.
TypeError: data.posts[i] is undefined
나는 일반적으로 그냥 여기가 (내가 교육 추측에이 많이 내놓고있어 그래서 자바 스크립트에 새로 온 사람)처럼 호출 할 수 없습니다 가정,하지만 것은 이상한 일이 : 로그 I 방화 광디스크 (firebug)에 인쇄하면 예상되는 정보가 정확하게 포함됩니다. 내가 설명 할 수없는 오류와 함께 살 수 있지만, 다음 웹 페이지에 결합 된 문자열을 표시하지 않습니다.
var data = JSON.parse(d);
var i = 0;
while(i <= data["posts"].length) {
messages += "<b>" + data["posts"][i]['nickname']
+ ":</b> - " + data["posts"][i]['content'] + "<br>";
i++;
console.log(messages);
}
console.log(messages);
$('.post1').html(messages);
내가 정확히 여기에 누락 되었습니까?
JSON의 구조는 무엇입니까? – YoannM
무언가가 매우 이상합니다. 오류 메시지가 게시 한 코드와 일치하지 않는 것 같습니다 ... 어떤 줄에서 오류가 발생 했습니까? – Hogan
while 루프의 첫 번째 줄에서 오류가 발생합니다. JSON은 '오류'및 '게시물'이 포함 된 배열입니다. 게시물은 데이터베이스 쿼리의 행으로 채워집니다. $ data [ 'posts'] = $ this-> communication_model-> fetch_posts ($ username, $ offset); –