首页 > 解决方案 > 设置 Access-Control-Allow-Origin 不起作用?

问题描述

我正在尝试了解我在 azure 上的 rest api 的 CORS 设置

'use strict';
var debug = require('debug');
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var cors = require('cors');
var routes = require('./routes/index');
//var users = require('./routes/users');

var app = express();
app.use(function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});

app.use(cors());

似乎不起作用,任何选项/或我错过了什么?

标签: node.jsazurecors

解决方案


我使用以下代码在我的站点中进行测试,它与响应标头中的 cors 配合得很好。

var cors = require('cors');
var express = require('express');
var app = express();
app.use(function (req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});

app.use(cors());

app.get('/', function(req, res, next) {
    var data = {
        "Fruits": [
          "apple",
          "orange"    ]
      };
      res.json(data);
   });
app.listen(3000, function () {
console.log('CORS-enabled web server listening on port 3000')
});

在此处输入图像描述


推荐阅读