gpt4 book ai didi

Javascript CORS GET 请求被阻止或无效

转载 作者:行者123 更新时间:2023-11-30 16:14:49 25 4
gpt4 key购买 nike

我已经为向第 3 方 REST Api 发出简单的 GET 请求而苦苦挣扎了一段时间。我已经阅读了一些教程和 SO 问题,但我无法让它工作。我遇到了两个错误之一

预检响应无效(重定向)

或(如果通过 https)

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin” header 。产地' https://localhost:8433 ' 因此不允许访问。

关于第二条消息:是否只是服务器不支持 CORS 的问题?

我的代码:

var xmlHttp = new XMLHttpRequest();
var url = 'https://inspirehep.net/record/451647?of=recjson&ot=recid,number_of_citations,authors,title'; //http or https, tried both

/*
doing sth with response here like populate dropdown etc.
*/

xmlHttp.open('GET', url, true);
xmlHttp.setRequestHeader("Access-Control-Allow-Headers", "Content-Type, X-Requested-With, Cache-Control");
xmlHttp.setRequestHeader("Content-Type", "application/json");
xmlHttp.setRequestHeader("Access-Control-Allow-Origin", '*');
xmlHttp.setRequestHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
xmlHttp.setRequestHeader("Access-Control-Allow-Credentials", "true");
xmlHttp.send();

整个应用程序在 node.js 服务器(本地主机)上运行,上面的脚本作为单独的文件包含在 .html View 中。

对于此 API,我可以从网络浏览器、 fiddler 、 postman 等正确获取 json 响应。我还尝试了不同的 API(例如 Openweather API),以为是服务器配置的问题,但结果是一样的。

如果有任何帮助,我将不胜感激 - 也许我只是对 CORS 有一些误解。

最佳答案

您不能从浏览器设置 header ,如果目标 url 在您的服务器或您管理的服务器上运行并且该服务器运行 nodejs,您可以使用 cors https://www.npmjs.com/package/cors ,但是,如果这是第三方 url 并且它不允许 CORS,那么您应该通过配置从您的服务器到第三方服务器的代理从您的后端发出请求,这应该可以解决您的问题。

关于Javascript CORS GET 请求被阻止或无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35687028/

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