Javascript Can';无法从本地主机连接到另一个本地主机
我有以下问题: 我有一个在localhost:3001上运行的api和一个在localhost:3000上运行的react应用程序。我可以向邮递员提出请求,但当我使用我的网站时,我会出现以下错误: CORS策略已阻止从源“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头 我做了一些研究,但没有一个奏效 根据网站,我需要xhr.withCredentials=true。但这也不行。 下面是我的应用程序中的一些代码Javascript Can';无法从本地主机连接到另一个本地主机,javascript,reactjs,api,Javascript,Reactjs,Api,我有以下问题: 我有一个在localhost:3001上运行的api和一个在localhost:3000上运行的react应用程序。我可以向邮递员提出请求,但当我使用我的网站时,我会出现以下错误: CORS策略已阻止从源“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头 我做了一些研究,但没有一个奏效 根据网站,我需要xhr.withCredentials=true。但这也不行。 下面是我的应用程序中的一些代码 func
function postAjax(method, apiUrl, data, callback) {
let xhr = new XMLHttpRequest();
xhr.open(method, apiUrl, true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.withCredentials = true;
xhr.addEventListener("load", function() {
if (xhr.status != 400 && xhr.status != 404) {
callback(JSON.parse(xhr.responseText));
}
});
xhr.send(JSON.stringify(data));
}
有人知道如何解决这个问题吗?原因是什么?如果可能的话,使用一点示例代码 您可以在服务器中使用cors模块。 npm i cors安装外部cors包
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())
这为了澄清任何混淆,因为Postman不是浏览器,所以浏览器跨源限制不适用,这就是为什么API测试应用程序能够成功完成请求,而您的浏览器不能。假设OP实际使用的是express.js,这就是hanks!它起作用了
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())