クロスドメイン ajax リクエストを機能させようとして問題が発生しています。Stack Overflow で見つけた多くの解決策にもかかわらず、機能させることができません。
$.ajax({
url : 'http://SERVER:PORT/CONTEXT/RESOURCE.html?someParameter=1234',
dataType : 'json',
success: function(xhr) {
alert('ok '+JSON.stringify(xhr));
},
error : function(xhr) {
alert('error '+JSON.stringify(xhr));
}
});
次のように、データ型「json」で標準の $.ajax 呼び出しを実行すると、サーバーは空白の応答と statusText「エラー」で応答します。
error {"readyState":0,"responseText":"","status":0,"statusText":"error"}
そのため、他のスレッドで提案されているように、データ型を「jsonp」に単純に変更しようとしましたが、今回はまだ次の応答でエラー状態になります:
error {"readyState":4,"status":200,"statusText":"success"}
と "parsererror" のエラー メッセージ まだデータがありません。
何を与える?
Weblogic では Spring MVC であるため、サーバー側で何か特別なことをする必要がありますか?
編集: jQuery バージョン 1.9.1 Spring-3 MVC
EDIT2:ああ、私も $.getJSON を試しましたが、このコマンドは何もしないようです - $.ajax を $.getJSON に置き換えてコードを実行しても何も起こりません。応答がなく、コンソールでエラーが発生していることも、URL へのネットワーク リクエストも見られないこともわかりません。また、$.getJSON(url, callback); のように呼び出した 2 回目の試行で構文を変更しました。しかし、それは何も変わりませんでした
EDIT3:「json」データ型を使用して元のコードを実行し、Firebug の [応答] タブを見ると、空です。しかし、「jsonp」を使用して 2 番目のコードを実行すると、[応答] タブに JSON テキストが表示されます。それで、なぜそれがまだエラーをスローするのかは奇妙です。