【问题标题】:Access-Control-Allow-Origin on node.js WITHOUT Express.js没有 Express.js 的 node.js 上的 Access-Control-Allow-Origin
【发布时间】:2014-09-26 16:48:02
【问题描述】:

解决错误'No Access-Control-Allow-Origin'

所以我尝试为 Node.js 搜索 Access-Control-Allow-Origin,但我只能看到那些使用 Express.js api 的。

警告看起来很简单:在响应中添加标头“Access-Control-Allow-Origin”。

Origin http://localhost is not allowed by Access-Control-Allow-Origin

像上面的问题一样,我也可以看到很多答案都有 app.use 或 res.header 但是:

  1. 我不知道应用程序在哪里。来自
  2. res.header 不适用于

    http.createServer(function (req, res){ "Something" });

我也试过了

res.writeHead(200, {'Access-Control-Allow-Origin': '*',
'Content-Type': 'text/html','Content-Length':data.length});

但不起作用。

我知道这个问题可以在客户端解决,比如 chrome 或 add on 的安全关闭选项。但我希望我的服务器在任何客户端上提供服务,这样用户就不需要对其进行任何设置。

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    你应该阅读手册:

    HTTP Node.js v0.10.30 Manual & Documentation

    http.createServer(function (req, res) {
        res.setHeader("Access-Control-Allow-Origin", "*");
    });
    

    旁注:我猜应用程序主要来自var app = express();。

    【讨论】:

    • 好像我以前试过一次,是的,不知道为什么,这也不起作用。我尝试在 req.on 的开头、中间和代码的末尾使用 ut res.setHeader。还尝试放在 res.write(data) 之前。
    • @TechNew 标头需要在响应的开头发送。可以验证标头是否真的没有通过您的浏览器开发控制台发送?
    猜你喜欢
    • 2017-11-14
    • 1970-01-01
    • 2014-06-04
    • 2017-06-15
    • 2018-12-12
    • 2019-01-05
    • 2016-01-21
    • 2018-02-02
    • 1970-01-01
    相关资源
    最近更新 更多