0

ローカル マシンから Heroku 上の Play アプリケーションに対して AJAX リクエストを実行しようとしています。現在、'complete'および'error'ハンドラは呼び出されていますが、 は呼び出されていません'success'。Opera と Firefox では、私の応答ヘッダーは次のとおりです。

HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Server: Play! Framework;1.2.4;prod
Set-Cookie: PLAY_FLASH=;Expires=Fri, 5-Oct-12 08:22:46 GMT;Path=/
Set-Cookie: PLAY_ERRORS=;Expires=Fri, 5-Oct-12 08:22:46 GMT;Path=/
Set-Cookie: PLAY_SESSION=;Expires=Fri, 5-Oct-12 08:22:46 GMT;Path=/
Content-Length: 2295
Connection: keep-alive

Opera は返された JSON オブジェクトも表示します

これが私のコードです:

var url = "http://myurl.com"

$.ajax({
    'complete': function (jqXHR, status) {
        console.log('Complete!');
        console.log(status);
        console.log(jqXHR.getAllResponseHeaders());
    },
    'dataType': "application/json",
    'error': function (jqXHR, status, error) {
        console.log('Error!');
        console.log(status);
        console.log(error);
    },
    'success': function (data, status, jqXHR) {
        console.log('Success!');
        console.log(status);
        console.log(data);
    },
    'type': 'GET',
    'url': url
});

他の同様の質問は、データ型をテキストに変更するか、完全に削除することを提案しました。どちらも機能しません。JSONLintで返された JSON オブジェクトの検証に成功しました。

コンソール ログは次のとおりです。

Error!
error

Complete!
error

リンクされているかどうかはわかりませんが、getAllResponseHeaders()関数は空の文字列を返しています。

これはクロスドメイン エラーですか?

どんな助けでも大歓迎です!

ありがとう

4

1 に答える 1

1

ここで彼らは、それが実際にクロスドメインエラーであることを示唆しています.

于 2012-10-05T08:49:23.687 に答える