Express CORS无效

时间:2017-04-22 03:39:52

标签: node.js api express cors

我刚开始使用nodejs快递模板购买cors是行不通的。

我使用了npm install cors --save

这是文件:

var express = require('express');
var cors = require('cors');
var app = express();

app.use(cors());

var corsOptions = {
  origin: 'https://example.com/',
  optionsSuccessStatus: 200
};

app.get('/', cors(corsOptions), function(req, res, next) {
    res.json({ message: 'hooray! welcome to our api!' });
});

app.get('/tt', function(req, res, next) {
    res.json({ message: 'hooray! welcome to our api!' });
});

var port = process.env.PORT || 3030;
app.listen(port);
console.log('Magic happens on port ' + port);

现在使用上面的代码,当我访问localhost:3030 / tt或/我仍然看到内容,我不应该

这有什么问题..我只是失去了2个小时的工作...... :( 这时我不想使用CORS,但在不久的将来,当我的应用程序完成时,我想只允许来自我的项目的来电,因为这个应用程序将是我的API。

1 个答案:

答案 0 :(得分:2)

您所描述的行为似乎就是我所期望的。

CORS无法帮助您过滤掉服务器上的来电。在这种情况下,浏览器的CORS检查不会启动,因为您似乎直接在浏览器中键入URL。仅当从特定域加载的网页尝试访问/提交到其他域中的URL时,浏览器才会执行CORS检查。

考虑CORS的另一种方式。 CORS旨在保护坐在浏览器前面的用户,而不是正在访问的服务器代码。