gpt4 book ai didi

javascript - xhr 请求控制源

转载 作者:行者123 更新时间:2023-12-03 12:12:59 29 4
gpt4 key购买 nike

我正在尝试获取 xhr 请求。 (该脚本应每 2 秒循环运行一次)这是我的脚本:

function getJson() {
var xhr = new XMLHttpRequest();
xhr.open("get", "http://www.oref.org.il/WarningMessages/alerts.json", true);
xhr.onload = function(){
var response = JSON.parse(xhr.responseText);
checkJson(response);
}
xhr.send(null);

setTimeout(arguments.callee, 2000);
}

getJson();

我收到此错误:XMLHttpRequest 无法加载 http://www.oref.org.il/WarningMessages/alerts.json。请求的资源上不存在“Access-Control-Allow-Origin” header 。因此,不允许访问源“http://klh-dev.com”。

所以我在网上搜索并尝试在我的脚本中添加几行,但它不起作用:response.addHeader("Access-Control-Allow-Origin", "http://www.oref.org.il/WarningMessages");

response.addHeader("Access-Control-Allow-Origin", "*");

我在外部 html 页面中尝试了这个

header('Access-Control-Allow-Origin: *');  

没有任何效果..

最佳答案

您遇到了一系列统称为跨源资源共享 (CORS) 的问题。长话短说,浏览器通常不允许脚本访问非脚本来源的服务器,除非服务器明确允许。由于您的脚本的来源 http://klh-dev.com 与请求目标 http://www.oref.org.il 不同,因此浏览器阻止请求。

有两种可能的解决方案:1)修改服务器以实现 CORS header (除非您控制服务器,否则可能不可能)或 2)使用 JSONP 执行请求(并非在所有情况下都有效)。 So, JSONP or CORS?

关于javascript - xhr 请求控制源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24873540/

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