我正在Node js和我的前端Angularjs开发一个服务器,但是当我尝试从我的前端发出请求时出现错误:
XMLHttpRequest无法加载http://localhost:8085/server/authenticate/。 对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许来源“http://localhost:9000” 访问。
我的server.js上的代码
app.use(function(req,res,next){
res.setHeader('Access-Control-Allow-Oringin','*');
res.setHeader('Access-Control-Allow-Methods','GET,POST,OPTIONS');
res.setHeader('Access-Control-Allow-Headers','X-Requested-With,content-type,Authorization,accept');
if (req.method === 'OPTIONS'){
res.statusCode = 200;
return res.end();
}
else{
return next();
}
});
有什么建议吗?
注意:后端和前端不在同一个端口,我试图让它作为CROSS-Origin资源工作。
答案 0 :(得分:1)
var express = require('express')
, cors = require('cors')
, app = express();
app.use(cors());
/* Make your app with CORS support: for more information: https://www.npmjs.com/package/cors*/

答案 1 :(得分:0)
标题名Access-Control-Allow-Oringin
试试这个
app.use(function(req,res,next){
res.setHeader('Access-Control-Allow-Origin','*');
res.setHeader('Access-Control-Allow-Methods','GET,POST,OPTIONS');
res.setHeader('Access-Control-Allow-Headers','X-Requested-With,content-type,Authorization,accept');
if (req.method === 'OPTIONS'){
res.statusCode = 200;
return res.end();
}
else{
return next();
}
});