Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用AJAX访问JSON文件对象_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript 使用AJAX访问JSON文件对象

Javascript 使用AJAX访问JSON文件对象,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,好的,我很确定我的问题很简单,但我是一个完全的AJAX/JSON noob,所以我需要帮助 我正在使用$.getJSON访问一个JSON文件,然后我想在“消息”中循环,并在附加到无序列表的列表项中显示“主题”、“日期时间”和多个“收件人”,该列表项带有类“字符串” 当我尝试下面的代码时,什么都没有发生。没有列表项被附加到我的无序列表中。我相信我没有正确地缩小我的请求的范围,或者我的JSON格式可能不正确(尽管我已经验证了它),这正是我试图完成的事情 这是我的剧本: <script>

好的,我很确定我的问题很简单,但我是一个完全的AJAX/JSON noob,所以我需要帮助

我正在使用$.getJSON访问一个JSON文件,然后我想在“消息”中循环,并在附加到无序列表的列表项中显示“主题”、“日期时间”和多个“收件人”,该列表项带有类“字符串”

当我尝试下面的代码时,什么都没有发生。没有列表项被附加到我的无序列表中。我相信我没有正确地缩小我的请求的范围,或者我的JSON格式可能不正确(尽管我已经验证了它),这正是我试图完成的事情

这是我的剧本:

 <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"
        }
     }
  }
}
}