带有 jQ​​uery.ajax() 的 CORS

Posted

技术标签:

【中文标题】带有 jQ​​uery.ajax() 的 CORS【英文标题】:CORS with jQuery.ajax() 【发布时间】:2014-10-14 14:42:23 【问题描述】:

Firefox 似乎正在阻止此请求,而 Chrome 正在处理它。我做错了什么?

http://jsfiddle.net/e8qu2g9j/1/

$.ajax(
    url: "http://maps.googleapis.com/maps/api/geocode/json",
    data: 
        bounds: "-35.2545,149.4947|-31.9955,152.5728",
        region: "au",
        components: "country:AU|administrative_area:NSW",
        address: "Central Station"
    
);

我已经尝试添加:

crossDomain: true,
xhrFields: 
    mozAnon: true,
    mozSystem: true
,

但无济于事。

Firefox 31.0 不断给我:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://maps.googleapis.com/maps/api/geocode/json?bounds=-35.2545%2C149.4947%7C-31.9955%2C152.5728&region=au&components=country%3AAU%7Cadministrative_area%3ANSW&address=Central+Station. This can be fixed by moving the resource to the same domain or enabling CORS.

编辑:这对我来说在新的 Firefox 配置文件中运行良好,但不是我的主要配置文件。我可以更改哪些设置?

【问题讨论】:

你是在 https 中调用谷歌地图吗? 没有。谷歌说我可以使用 http:developers.google.com/maps/documentation/geocoding/… "results":["address_components":["long_name":"Central Station","short_name":"Central Station","types":["train_station","transit_station ","机构"],"long_name":"Haymarket","short_name":"Haymarket","types": 添加到 xhrFields xhrFields: withCredentials: true //or try it to false 在我这边它在小提琴中工作正常 【参考方案1】:

禁用 HTTPS 无处不在的插件。

https://bugzilla.mozilla.org/show_bug.cgi?id=692843

【讨论】:

以上是关于带有 jQ​​uery.ajax() 的 CORS的主要内容,如果未能解决你的问题,请参考以下文章

带有 jQ​​uery Ajax 的 JWT 令牌

哪些浏览器不支持带有 jQ​​uery.ajax 的 HTTP DELETE? [复制]

带有 jQ​​uery Ajax 调用的 MVC 无法正确绑定空数组/可枚举

IE8/9 中带有 jQ​​uery 和 XDomainRequest 的 CORS

带有AngularJS显示错误的JQ小部件图表

带有 jQ​​uery 验证插件的新 reCaptcha