我正在 Angular 4 中构建一个网站。
我的网址服务器端(Web Api(http://localhost:55499/api我的网址客户端 http://localhost:4200。
而且效果很好。
由于各种原因,我将 url 服务器更改为 http://localhost/AAA/api/并开始使用 iis express 而不是本地 iis。
从那以后,它就停止了工作。
带来以下错误:
请求的资源上不存在"访问控制允许源"标头。因此,不允许访问源"http://localhost:4200"。
响应具有 HTTP 状态代码 400。
我在回答中Access-Control-Allow-Origin:http://localhost:4200
我在控制器中有:
[EnableCors(origins: "http://localhost:4200", headers: " * ", methods: " * ")]
我使用 IIS EXPRESS。
您应该指定要允许的标头和方法。您只有两个空字符串。
这基本上是您在不同域上尝试访问不同域上的数据或资源的域访问问题。
如果您使用的是node_modules安装 cors 模块,并在您的服务器应用程序中使用它,如下所示
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())
或者,您可以为单个 A 路由启用此功能,也可以执行以下操作。
var express = require('express')
var cors = require('cors')
var app = express()
app.get('/products/:id', cors(), function (req, res, next) {
res.json({msg: 'This is CORS-enabled for a Single Route'})
})
并且还参考堆栈答案