ローカル マシンから 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()
関数は空の文字列を返しています。
これはクロスドメイン エラーですか?
どんな助けでも大歓迎です!
ありがとう