我正在尝试将我的JSON数据附加到一个div。由于某种原因,我没有看到,它没有附加。从Django视图中收集的数据是正确的,我可以看到这是FireBug控制台。
这是我的JS
$.getJSON('/chat/xhr_test/', function(response_array) {
var arr = response_array;
$.each(arr, function(count, item) {
var messageList = (this.pk + ' ' +this.nickname +': '+ this.message +'<br>');
$("#chatbox").append(messageList);
});
});发布于 2009-12-14 16:55:37
当each语句中有函数变量时,不能使用"this“。去掉count和item,你就可以使用"this“或者itemcount了
var messageList = (item[count].pk + ' ' +item[count].nickname +': '+ item[count].message +'<br>');发布于 2009-12-15 03:31:29
让我们调试一下
$.getJSON('/chat/xhr_test/', function(response_array) {
var arr = response_array;
console.dir(arr);//is this an array?
var chatbox=$('#chatbox');//cache the chatbox -- ideally this should be placed outside getJSON for reuse
console.log('chatbox length', chatbox.length);//does chatbox exist?
if (chatbox.length){
$.each(arr, function(count, item) {
console.log(count, item);//getting an integer and an object?
var messageList = (item.pk + ' ' +item.nickname +': '+ item.message +'<br />');
console.log(messageList);//look good?
chatbox.append(messageList);//append to the cached chatbox element
});
});
}
});一旦您确保您的变量按照您认为的方式进行设置,事情就会变得井然有序。
发布于 2009-12-15 07:31:12
$.each可能要求您指定.items,而不是传递整个变量:
$.each(arr.items, function(count, item) {https://stackoverflow.com/questions/1899716
复制相似问题