CORS请求问题(XMLHttpRequest)

时间:2016-01-25 16:46:00

标签: javascript angularjs node.js

我正在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资源工作。

2 个答案:

答案 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();
}

});