3

我想加载一个简单的 json 文件并显示它的内容,但它不起作用,我不知道为什么:(

控制台上不显示任何内容。

<!DOCTYPE html>
<html>
<head>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script type="text/javascript">
$(document).ready(function(){
    $.getJSON('/api/?core=users&function=getJson', function(data) {
  var items = [];
    console.log("ok!");
  $.each(data, function(key, val) {
    items.push('<li id="' + key + '">' + val + '</li>');
  });

  $('<ul/>', {
    'class': 'my-new-list',
    html: items.join('')
  }).appendTo('body');
});
});
</script>
</head>
<body>
<ul class="my-new-list">
<li>test</li>
</ul>
</body>
</html>

加载的 JSON 数据是:

{"fruit_name":"Tomato"}

你有想法吗 ?

谢谢 !

4

2 回答 2

6

如果控制台中没有显示任何内容,则成功函数永远不会被触发。

您的服务器请求返回的不是 200(如 404、500 等),或者您返回的字符串不是有效的 JSON。

检查您的网络选项卡以查看您的请求返回的内容。如果它返回 200,那么您返回的字符串不是有效的 JSON 字符串。

在以下位置进行验证:jsonlint.com

于 2013-09-05T22:07:48.783 回答
0

首先:您必须确保您的 JSON 文件(在 getJSON() 中被视为)是可访问的并且没有任何错误。

然后使用以下代码段:

$(document).ready(function(){       
        $.getJSON('/the/path/to/theJSON',{
          format: "json"
        }).done(function(data){
          alert(data.fruit_name);
        });     
      });
于 2013-09-05T22:01:39.933 回答