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

コンソールに何も表示されない場合は、success 関数が起動されていません。

サーバー要求が 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 に答える