Node.js 与Restify的CORS问题
我创建了一个带有节点Api的ReactJs应用程序,该应用程序使用Restify,但无论我做什么,POST方法总是会出错:Node.js 与Restify的CORS问题,node.js,reactjs,rest,restify,Node.js,Reactjs,Rest,Restify,我创建了一个带有节点Api的ReactJs应用程序,该应用程序使用Restify,但无论我做什么,POST方法总是会出错: 405(方法不允许) CORS策略已阻止在“”处从源“”获取的访问:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源 我已经尝试了我在互联网上看到的一切,但我总是有这个问题 要调用API,以下是我的代码: const request = new R
- 405(方法不允许)
- CORS策略已阻止在“”处从源“”获取的访问:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源
const request = new Request(url + 'login', {
method: 'POST',
body: JSON.stringify({ 'username' : username, 'password' : password }),
headers: new Headers({ 'Content-Type': 'application/json' })
})
return fetch(request)
.then(response => {
if (response.status < 200 || response.status >= 300) {
throw new Error(response.statusText);
}
return response.json();
})
.then(({ token }) => {
localStorage.setItem('token', token);
});
因此,我希望在调用Api后收到验证(代码200),但我总是遇到CORS问题
还有什么需要配置的吗
谢谢你的帮助!!!:D您必须使用
corsmidware
来避免cors
问题……将此代码写入app.js文件中……应该可以正常工作
var restify = require('restify');
var corsMiddleware = require('restify-cors-middleware');
var cors = corsMiddleware({
preflightMaxAge: 5,
origins: ['*'],
allowHeaders:['X-App-Version'],
exposeHeaders:[]
});
/**
* Initialize Server
*/
var server = restify.createServer();
server.pre(cors.preflight);
server.use(cors.actual);
当使用任何方法从外部调用restify服务时,这都可以很好地工作
var restify = require('restify');
var corsMiddleware = require('restify-cors-middleware');
var cors = corsMiddleware({
preflightMaxAge: 5,
origins: ['*'],
allowHeaders:['X-App-Version'],
exposeHeaders:[]
});
/**
* Initialize Server
*/
var server = restify.createServer();
server.pre(cors.preflight);
server.use(cors.actual);