微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery .get不能在ie9中使用google api

我无法弄清楚为什么下面的代码在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ägen7,31133,Falkenberg,Sweden& sensor = false& = 1363342459585

我已经尝试将缓存更改为false,使用$.ajax代替$.get测试,通过输入一些警报,但我似乎无法进入$.get函数

我已经尝试按照http://docs.jquery.com/Specifying_the_Data_Type_for_AJAX_Requests中的建议更改MIME类型,但这并没有帮助收集.

任何人的想法?

编辑:
甚至尝试使用谷歌的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页面上提到的所有要求).

原文地址:https://www.jb51.cc/jquery/178387.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐