gpt4 book ai didi

javascript - 使用 jQuery AJAX API 的同源策略看似不一致

转载 作者:行者123 更新时间:2023-11-29 10:42:53 26 4
gpt4 key购买 nike

我正在尝试了解同源策略 (SOP) 如何适用于不同的情况。

我在本地 HTML 文件中编写了以下 JavaScript 代码,并在 Windows 上使用 Chrome 运行:

$(document).ready(function () {
$.get("http://www.quandl.com/api/v1/datasets/FRED/GDP.json", function (r) {
window.alert(r.source_name);
});
});

它的工作原理是向我提供从另一个域 (www.quandl.com) 检索到的数据。但是,如果我将其与 google.com 交换,则不会调用回调:

$(document).ready(function () {
$.get("http://www.google.com", function (r) {
window.alert(r);
});
});

最佳答案

我认为这里的不一致是因为第一个资源有一个 Access-Control-Allow-Origin: * header ,所以它支持 CORS并允许来自所有域的脚本使用 AJAX 和 XMLHttpRequests 访问数据.

相比之下,google.com 没有,因此尝试从另一个域访问它会出现常见的错误。

将该 header 添加到任何页面都将规避同源策略。您还可以执行 Access-Control-Allow-Origin: domain 以仅允许来自域 domain 的请求。

看看this有关 CORS 支持的更多信息。

关于javascript - 使用 jQuery AJAX API 的同源策略看似不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25336588/

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