0

次の問題があります。次のコードを使用して、ajax 経由で googlemaps api v3 からデータを取得しようとしています。Chrome と Firefox では問題なく動作しますが、IE では動作しません。私は何を間違っていますか?

var lat;
$.ajax({
url: "url",
cache: false,
dataType: "json",
success: function(data) {      
lat = data.results[0].geometry.location.lat;
}                                                                                                   
});
4

1 に答える 1

0

次のエラー イベントを Ajax 呼び出しに追加します。

  success: function(data) {
     lat = data.results[0].geometry.location.lat;
    },
   error: function(xhr, status, error) {
     alert(status);
   }

また、IE で表示されるエラー メッセージがある場合はお知らせください。

編集- クロスドメイン リクエストを実行しようとしているようですね。その場合は、$.support.cors = true;ajax リクエストの前に設定してみてください。

http://api.jquery.com/jQuery.support/から取得

cors をまだサポートしていないが、クロスドメイン XHR リクエスト (Windows ガジェットなど) を許可する環境でクロスドメインリクエストを有効にするには、次のように設定します。 $.support.cors = true;

EDIT2 - IE9 を実行していると仮定します。その場合、ここにある jQuery 用のプラグインが必要です: https://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js

また、IE9 (cors を使用) にプラグインが必要な理由の詳細については、SO に関するこの回答を参照してください: IE9 jQuery AJAX with CORS returns "Access is denied"

EDIT3 - jQuery.XDomainRequest.jsをダウンロードし、AJAX 呼び出しの前に含めます。

于 2013-02-23T18:34:46.010 に答える