gpt4 book ai didi

javascript - 为什么浏览器会阻止特定的 Ajax 请求?

转载 作者:行者123 更新时间:2023-12-03 08:50:40 25 4
gpt4 key购买 nike

我有两个代码片段:

$.getJSON("https://noembed.com/embed", {"format": "json", "url": input.val()}, function (data) {
// work with data
});

第二个:

$.getJSON("https://www.youtube.com/oembed", {"format": "json", "url": input.val()}, function (data) {
// work with data
});

第一个会成功,但第二个不会。它们都是从 http://localhost:8080/myapp/page 发送的。为什么同源策略不允许这两个请求? (其实是浏览器的问题)。

最佳答案

有些服务器允许浏览器进行跨源请求,有些则不允许。请参阅CORS .

可能涉及多个 CORS header ,因此 YouTube 中要么不存在这些 header ,要么缺少此特定操作所需的某些内容。但是,关键是服务器决定是否允许浏览器进行跨源操作,因此您的两个服务器在这方面提供不同的功能。

这个特定的 YouTube API 有点可疑,因为它的存在纯粹是为了跨源原因,所以一定有其他原因阻止它工作。要了解更多信息,必须查看网络跟踪,以准确了解发送到 YouTube 的内容、存在哪些 CORS header 以及可能到底是什么导致了这种情况。例如,是否可能存在 http/https 不匹配,这就是 CORS 失败的原因?

关于javascript - 为什么浏览器会阻止特定的 Ajax 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32691881/

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