gpt4 book ai didi

jquery .get 无法在 ie9 中针对 google api 工作

转载 作者:行者123 更新时间:2023-12-03 22:32:43 24 4
gpt4 key购买 nike

我不明白为什么下面的代码在 FF 中可以完美运行,但在 IE9 中却不能。

该脚本的作用是,单击按钮后,它会从表单中选择一些值,例如街道、邮政编码和城镇,构建一个字符串,将其提交给谷歌,然后返回该地址的经纬度(并输入到表单中的两个字段)

$("#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;
});

本例中此脚本提交的网址为:=1363342459585">http://maps.googleapis.com/maps/api/geocode/xml?address=Servicev%C3%A4gen%207,311%2033,Falkenberg,瑞典&sensor=false&=1363342459585

我尝试将缓存更改为 false,使用 $.ajax 而不是 $.get 通过放入一些警报进行测试,但我似乎无法进入 $.get 函数

我已尝试按照此处建议的方式更改 MIME 类型 http://docs.jquery.com/Specifying_the_Data_Type_for_AJAX_Requests ,但这对伊瑟没有帮助。

大家有什么想法吗?

编辑:甚至尝试使用 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);
}
});

最佳答案

因为你正在执行cross-domain request ,浏览器需要支持这一点。大多数现代浏览器(如 FF 和 Chrome)都支持它,但 IE9 仅在满足特定要求时才支持它。

Here's what Microsoft has to say about it ,包括一些关于如何使其工作的指导(前提是可以满足 Microsoft 页面上提到的所有要求)。

关于jquery .get 无法在 ie9 中针对 google api 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15429995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com