gpt4 book ai didi

javascript - XML Ajax 请求中请求的资源上不存在 'Access-Control-Allow-Origin' header

转载 作者:行者123 更新时间:2023-11-28 03:45:23 25 4
gpt4 key购买 nike

通过在线阅读,我了解到我尝试做的事情可能是不可能的,但是,我想我应该碰碰运气,看看这里是否有人可以帮助我解决我的问题。

我正在尝试从开放数据网站获取 XML 数据,以获取我所在地区的火车信息。 https://www.opendatani.gov.uk/dataset/real-time-rail-stations-arrivals-and-departures

事实上,该网站都是关于开放数据的,这让我相信我可以轻松提取这些数据。我错了!

从上面的链接中,您可以看到一个链接,用于查看示例 XML 响应。文件的名称是站点索引。

https://apis.opendatani.gov.uk/translink/3042A7.xml

现在,如果我将上面的链接发布到 postman 中,我会得到所需的数据,但如果我执行 AJAX 请求,则会收到以下错误。

无法加载 https://apis.opendatani.gov.uk/translink/3042A7.xml:请求的资源上不存在“Access-Control-Allow-Origin” header 。因此,不允许访问源“null”。

下面是我的 ajax 请求,我知道这可能不太可能,但如果我遗漏了某些内容,我们将不胜感激。

$.ajax({
type: "GET",
url: "https://apis.opendatani.gov.uk/translink/3042A7.xml",
ContentType: 'application/xml',
success: function(result) {
console.log(result);
},
error: function(xhr, textStatus, errorThrown) {
console.log(xhr);
console.log(textStatus);
console.log(errorThrown);
}
});

最佳答案

仅当发送方和接收方的端口、协议(protocol)和域相同时,AJAX 请求才可能实现。如果没有,ajax 调用可能会导致 CORS。

CORS代表跨源资源共享,必须在服务器端支持。

您可以从您的服务器获取此文档及其数据并执行您想要的操作(甚至可以在该文档位于您的域中时通过 ajax 调用访问该文档),但是您无法通过 ajax 调用从另一个域访问它或 iframe(如果他们不允许)。嗯,有一些网络浏览器扩展可以启用和禁用此功能,但您不能要求每个人都安装和使用它们。

关于javascript - XML Ajax 请求中请求的资源上不存在 'Access-Control-Allow-Origin' header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48531844/

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