1
$(document).ready(function() {

$.getJSON('https://jira.atlassian.com/rest/api/latest/project?callback=?', function(data) {
    console.log("success");
});
});

このコードが機能しないのはなぜですか? ブラウザでもエラーが発生しません。しかし、Inspect Element ツールで示されるように、プロジェクト ファイルは Chrome でスクリプトとしてダウンロードされています。ファイルからデータを取得するにはどうすればよいですか?

4

3 に答える 3

1

次のようにjQuery.ajax APIを使用して JSONP 呼び出しを構成することをお勧めします。

$(function() {
  $.ajax({
    type: "GET",
    url: "https://jira.atlassian.com/rest/api/latest/project",
    dataType: "jsonp",
    jsonp: "jsonp-callback",
    data: { /* additional parameters go here */ }
  }).done(function(data) {
    console.log("success");
  });
});

このオプションjsonpは、API から提案された @mccannf として、JSONP-callback パラメーターの名前を変更します。

于 2013-02-11T18:31:00.477 に答える
1

JSONP コールバックのクエリ文字列のパラメーターとしてではjsonp-callbackなく、Atlassian が使用しているようです。callback

ここ を参照してください

于 2013-02-11T18:22:16.057 に答える
0

また、今後の参考のために、jqXHR オブジェクトを使用してエラー処理機能を追加することを検討してください。これにより、JSON 要求が失敗しているかどうかを確認できます。jQuery のリファレンス ( http://api.jquery.com/jQuery.getJSON/ )を参照してください。

$(document).ready(function() {
    var jq = $.getJSON('https://jira.atlassian.com/rest/api/latest/project?callback=?',
              function(data) {
                console.log("success");
              })
    .error(function() { console.log("error occurred"); });
});
于 2013-02-11T18:37:05.970 に答える