次のコードがFFでは正常に動作していますが、IE9では動作しない理由がわかりません。jquery .get google apiに対してie9で動作しません。
スクリプトが行うことは、ボタンをクリックすると、通り、郵便番号、町などの値をフォームから選択し、文字列を作成してGoogleに送信し、そのアドレスの緯度と経度を返しますこのスクリプトは、この場合に提出された形で二つのフィールド)
$("#google_coordinates").live("click", function(){
var string = encodeURIComponent($('#sAddressStreet1').val())+",";
if($('#sAddressStreet2').val() != ""){
string += encodeURIComponent($('#sAddressStreet2').val())+",";
}
string += encodeURIComponent($('#sAddressPostalcode').val())+",";
string += encodeURIComponent($('#sAddressTown').val())+",";
string += encodeURIComponent($('#sAddressCountryCode option:selected').text());
/* test with an alert - string shows fine in both FF and IE */
alert(string);
$.get("http://maps.googleapis.com/maps/api/geocode/xml?address="+string+"&sensor=false", function(xml){
$(xml).find('location').each(function() {
lat = $(this).find('lat').text();
lng = $(this).find('lng').text();
/* test with an alert - fine in FF not in IE */
alert(lat + ',' + lng);
$("#sAddressLatitude").val(lat);
$("#sAddressLongitude").val(lng);
});
});
return false;
});
URLにあることを置く:= 1363342459585" > http://maps.googleapis.com/maps/api/geocode/xml?address = Servicev%C3%A4gen%207,311%2033、Falkenberg、Sweden &センサー= false & = 1363342459585
私はcacを変更しようとしました彼は偽には、いくつかのアラートを入れてテストされた$ .getの代わりに$ .ajaxを使用しましたが、$ .get関数の中に入っていないようです。
MIMEタイプをそのまま変更しようとしましたここではhttp://docs.jquery.com/Specifying_the_Data_Type_for_AJAX_Requestsを提案しましたが、それはeatherを助けませんでした。
EDIT: Googleからのjsonの結果でも問題がXMLにあるかどうかを確認しようとしましたが、どちらも問題ありません。
$.ajax({
type: "GET",
url: "http://maps.googleapis.com/maps/api/geocode/json?address="+string+"&sensor=false",
dataType: "json",
cache: false,
success: function(json){
alert("hiero");
lat = json.results[0].geometry.location.lat;
lng = json.results[0].geometry.location.lng;
$("#sAddressLatitude").val(lat);
$("#sAddressLongitude").val(lng);
}
});
私はここに元のXMLスクリプト用のテストページを設定しています:http://www.abitnerdy.se/test/ firefoxではすべて正常に動作します。つまり、その中にチョークがあります。 –