3

次の URL に単純な ajax リクエストを送信しようとしています。https://insightsoftwaresolutions.atlassian.net/rest/api/2/issue/createmeta?projectKeys=TES&issuetypeNames=Bug&expand=projects.issuetypes.fields

ブラウザーのナビゲーション バーに URL を入力して Enter キーを押すだけで JSON 応答を受け取りますが、jquery ajax 呼び出しを実行しようとすると機能しません。コンソールエラーはありません。

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>

    <script>
        $(document).ready(function () {

            $.ajax({
                cache: false,
                type: 'GET',
                crossDomain: true,
                url: 'https://insightsoftwaresolutions.atlassian.net/rest/api/2/issue/createmeta?projectKeys=TES&issuetypeNames=Bug&expand=projects.issuetypes.fields',
                contentType: 'application/json; charset=utf-8',
                dataType: 'jsonp',

                success: function (data) {
                    alert("success");
                },
                    error: function (jqXHR, textStatus) {
                        //displayCallResults(jqXHR);
                        alert("error");
                    }
            });

        });
    </script>  

アップデート:

datatype:'jsonp' を datatype:'json' に変更しました。次に、次のエラーが表示されます。

Origin http://localhost:3029 is not allowed by Access-Control-Allow-Origin.
4

1 に答える 1

2

サーバーはJSONPをサポートしていません。それを変えるか

また

サーバー側で CORS をサポートするために、nginx でヘッダーを追加します。または、サーバー側で CORS ヘッダーを追加できます。

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: *");

それができたら、簡単な方法でコードにアクセスできます

$.getJSON(url).done(function(response) {
    console.log(response); //here's your response
});
于 2013-10-02T04:09:49.500 に答える