gpt4 book ai didi

jquery - Access-Control-Allow-Origin 不允许 Origin 'url'

转载 作者:行者123 更新时间:2023-12-03 22:08:35 26 4
gpt4 key购买 nike

我尝试使用以下 jquery(虚拟)代码通过 Google 货币计算器获取货币汇率:

    $.getJSON("http://www.google.com/ig/calculator?hl=en&q=1" + "DOP" + "=?" + "USD",
function(data) {
$('.currNumber').each(function (index) {
$(this).html(parseFloat($(this).html()) * 0.02681);
});
});

XMLHttpRequest cannot load http://www.google.com/ig/calculator?hl=en&q=1DOP=?USD. Origin 'hostURL' is not allowed by Access-Control-Allow-Origin.

在网站中查看,我发现了有关该主题的各种主题,但它们主要涉及本地文件访问,并尝试通过使用附加参数启动 chrome 来解决它(我也在使用 chrome),但这不是我的问题,这实际上似乎与跨域限制更相关。

所以,问题是:如何使用 jQuery 从该 url 获取费率?

最佳答案

Ajax 请求受到浏览器 Same Origin Policy 的限制。简而言之,这意味着您无法通过 ajax 直接与与运行脚本的页面不在同一域中的服务器进行通信。因此,除非您正在为 google.com 开发页面,否则您必须无法直接与 google.com 对话。

解决此限制的方法包括插入脚本标签(通过脚本标签加载的 JS 文件不受同源策略的约束),然后使用 JSONP 回调将数据结果从这些脚本传回主脚本标签。如果您尝试使用的 API 支持的话,这可能就是您需要执行的操作。

jQuery 在这里将为您提供很多帮助,因为它可以自动将 ajax 调用转换为通过脚本标签加载的 JSONP 调用,并且可以在跨域情况下工作。根据jQuery doc for it's ajax function ,如果它在 ajax 调用的参数字符串中看到“callback=”或者设置了 crossDomain 选项,它会自动执行此操作。

关于jquery - Access-Control-Allow-Origin 不允许 Origin 'url',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7216059/

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