CORS 错误:不存在“Access-Control-Allow-Origin”标头

Posted

技术标签:

【中文标题】CORS 错误:不存在“Access-Control-Allow-Origin”标头【英文标题】:CORS Error : No 'Access-Control-Allow-Origin' header is present 【发布时间】:2016-11-06 21:00:22 【问题描述】:

我收到此错误,但 CORS 所需的一切都在 Node.js 服务器上定义。

我正在使用 localhost:3000

前端代码:

 jQuery.ajax(
    type : "GET",
    url : "http://testing.com/iverse.json",
    success : function(result) 
        console.log("here is the result===",result);
        
    );

标头的 Node.js 代码

app.use(function (req, res, next) 
  res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, ajax, access-key');
  res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS, HEAD');
  res.setHeader('Access-Control-Allow-Origin', "*");
  next();
);

请告诉我错误在哪里?

【问题讨论】:

您在哪一侧设置标题?为 JS 服务的那个还是被请求的那个? 我在 localhost node.js 服务器上设置标题 必须在请求的资源上提供 Access-Control-Allow-* 标头。 【参考方案1】:

必须从请求的资源中提供“Access-Control-Allow-Origin”标头。

查看this *** question and the accepted answer了解更多详情。

【讨论】:

【参考方案2】:

只需使用这个 cors 模块

var cors = require('cors');
app.use(cors());

对你有帮助

【讨论】:

以上是关于CORS 错误:不存在“Access-Control-Allow-Origin”标头的主要内容,如果未能解决你的问题,请参考以下文章

CORS 错误:不存在“Access-Control-Allow-Origin”标头

CORS 问题:实际出现错误“不存在‘Access-Control-Allow-Origin’标头”

Node.js---使用Express写接口

无法在 Laravel 5 中为特定路线添加 CORS

Angular JS Cors 请求的资源上不存在“Access-Control-Allow-Origin”标头错误

Zscaler 的 Ajax 问题