0

私はjQueryが初めてで、単純なjQueryスクリプトを持っています。

これをヘッダーに入れました:

<script src='http://code.jquery.com/jquery-latest.min.js' type='text/javascript'/>

私の体には、これがあります:

<script type='text/javascript'>
  $(document).ready(function() {
    alert(1);
    $.getJSON('http://puppygifs.tumblr.com/api/read/json', function(data) {
      alert(2);
    });
  });
</script>

しかし、Firebug は JSON がアクセスされ、エラーはないと言っていますが、2 番目のアラートではなく、最初のアラートしか受け取りません。2 番目のアラートが実行されないのはなぜですか?

4

1 に答える 1

3

によって返された json 応答http://puppygifs.tumblr.com/api/read/jsonが有効な json ではないため、成功ハンドラーが実行されません。

応答の最初の行を見ると、var tumblr_api_read={有効ではありません。有効な json の例のチェックアウトを確認するには: http://json.org/example.html

この状況は、Jquery ドキュメントに記載されています。

jQuery 1.4 の時点で、JSON ファイルに構文エラーが含まれている場合、通常、リクエストは暗黙のうちに失敗します。このため、JSON データを頻繁に手動で編集することは避けてください。JSON は、JavaScript のオブジェクト リテラル表記よりも厳密な構文規則を持つデータ交換形式です。たとえば、JSON で表されるすべての文字列は、プロパティであるか値であるかにかかわらず、二重引用符で囲む必要があります。JSON 形式の詳細については、http://json.org/を参照してください。

getJson ドキュメント

また、省略形の終了タグではなく、必ず終了タグでスクリプト タグを閉じてください。

<script src='http://code.jquery.com/jquery-latest.min.js' type='text/javascript'></script>

提供ドメインの外部からこの json にアクセスしている場合は、そのことを示す必要があります。jsonp&callback=?これは、jQuery ドキュメントで説明されているように、URL に 追加することで実現できます。

$(document).ready(function() {
    alert(1);
      $.getJSON('http://services.faa.gov/airport/status/SFO?' + 
              'format=application/json&callback=?', function(data){
      alert(2);
    });
  });

JS フィドル http://jsfiddle.net/J5jYW/

于 2013-09-01T20:53:09.697 に答える