对预检请求的响应未通过NodeJS中的访问控制检查

时间:2016-11-23 07:03:13

标签: javascript node.js express

即使我在NodeJS / ExpressJS中添加了以下代码,我也无法说服为什么我遇到了以下错误。

  

XMLHttpRequest无法加载http://localhost:9000/polymer/105724/apply。   对预检请求的响应未通过访问控制检查:否   请求中存在“Access-Control-Allow-Origin”标头   资源。因此不允许来源“http://localhost:8080”   访问。

res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.setHeader("Access-Control-Allow-Headers", "X-Requested-With, Content-Type");

2 个答案:

答案 0 :(得分:1)

您还需要允许OPTIONS方法。浏览器会在实际呼叫前发送OPTIONS来电,因此如果不允许OPTIONS,则不会进行下一次呼叫。

res.setHeader('Access-Control-Allow-Methods', 'OPTIONS,GET,PUT,POST,DELETE');

答案 1 :(得分:0)

允许OPTIONS并回复处理CORS HTTP标头到浏览器并等待请求。