Javascript 使用AJAX访问JSON文件对象
好的,我很确定我的问题很简单,但我是一个完全的AJAX/JSON noob,所以我需要帮助 我正在使用$.getJSON访问一个JSON文件,然后我想在“消息”中循环,并在附加到无序列表的列表项中显示“主题”、“日期时间”和多个“收件人”,该列表项带有类“字符串” 当我尝试下面的代码时,什么都没有发生。没有列表项被附加到我的无序列表中。我相信我没有正确地缩小我的请求的范围,或者我的JSON格式可能不正确(尽管我已经验证了它),这正是我试图完成的事情 这是我的剧本:Javascript 使用AJAX访问JSON文件对象,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,好的,我很确定我的问题很简单,但我是一个完全的AJAX/JSON noob,所以我需要帮助 我正在使用$.getJSON访问一个JSON文件,然后我想在“消息”中循环,并在附加到无序列表的列表项中显示“主题”、“日期时间”和多个“收件人”,该列表项带有类“字符串” 当我尝试下面的代码时,什么都没有发生。没有列表项被附加到我的无序列表中。我相信我没有正确地缩小我的请求的范围,或者我的JSON格式可能不正确(尽管我已经验证了它),这正是我试图完成的事情 这是我的剧本: <script>
<script>
$(document).ready(function() {
$.getJSON('data/conv.json',function(data){
$('ul.string').empty();
$.each(data.message, function(messages, message){
var html = '<li>';
html += '<span class="name">' + entry['name'] + '</span>';
html += '<span class="timestamp">' + message['date-time'] + '</span><br class="clear"/>'; html += '<span class="subject">' + message['subject'] + '</span>';
$('ul.string').append(html);
});
});
});
</script>
我应该注意,我已经验证了我的JSON文件的文件路径是正确的,我确实加载了jQuery库并创建了无序列表。我甚至使用了我在网上找到的一个教程,能够从教程文件中加载JSON数据,但它是一个比我现在尝试使用的更简单的JSON文件结构
下面是我的列表项加载时的屏幕截图。感谢那个能为我指出正确方向的人,只加载前两个收件人的姓名,然后显示“+{剩余收件人数}其他人”
我感谢你能提供的任何帮助。提前谢谢 看起来是这样的:
$。每个(data.message,函数(messages,message){
应该是这样:
$.each(data.messages.message,function(messages,message){
JavaScript控制台会说什么?如果console.log(data),会得到什么
。使用firebug或chrome dev工具调试代码。您可以设置断点并逐步运行a/您的json无法工作。data.messages是一个具有n倍相同键的dict。b/data.messages
->data.messages
。注:您的收件人也是如此。您的第一步是正确使用json。
{
"messages":{
"message":{
"date-time":"June 2, 2013 12:22 pm",
"subject":"This is the message subject",
"shopcart":"false",
"msg-string":"001",
"recipients":{
"recipient-info":{
"name":"D. Craig",
"mbr-href":"#craig"
},
"recipient-info":{
"name":"N. McCoy",
"mbr-href":"#mccoy"
},
"recipient-info":{
"name":"J. Smith",
"mbr-href":"#smith"
},
"recipient-info":{
"name":"B. Wardlaw",
"mbr-href":"#wardlaw"
}
}
},
"message":{
"date-time":"May 23, 2013 12:22 pm",
"subject":"This is a great subject",
"shopcart":"false",
"msg-string":"002",
"recipients":{
"recipient-info":{
"name":"D. Craig",
"mbr-href":"#craig"
},
"recipient-info":{
"name":"N. McCoy",
"mbr-href":"#mccoy"
}
}
},
"message":{
"date-time":"May 11, 2013 12:22 pm",
"subject":"Interested in your tomatoes",
"shopcart":"true",
"msg-string":"004",
"recipients":{
"recipient-info":{
"name":"J. Smith",
"mbr-href":"#smith"
}
}
}
}
}