我正在尝试处理跨域请求(GET、POST、DELETE...)通过CORS使用Angular和NodeJs。当我在Chrome浏览器上尝试时,我是成功的,但在Win7上的IE11上,我得到了以下错误。
SEC7118: XMLHttpRequest for http://master.domain:1300/login required Cross-Origin Resource Sharing (CORS).
SEC7119: XMLHttpRequest for http://master.domain:1300/login required CORS preflight.
SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied.Master domain side我在Chrome上成功地设置了头文件Access-Control-Allow-Origin。
我已经尝试过xdomain库,但是我不能用Angular成功。我可能错过了一些东西,但我不知道是什么。互联网上没有这样的例子。
我能做些什么才能在IE上工作?我可以使用除CORS之外的任何其他方法。
有什么帮助吗?
谢谢
发布于 2017-03-02 19:54:03
仅仅设置"Access-Control-Allow-Origin“头可能是不够的,这取决于您发出的请求的类型。您还应该设置"Access-Control-Allow-Methods“和"Access-Control-Allow-Headers”
举个例子:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, PUT, OPTIONS
Access-Control-Allow-Headers: Content-Type发布于 2019-06-22 14:22:52
在nodejs端尝试一下这段代码,它是有效的
app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', 'http://localhost:4200');
res.setHeader('Access-Control-Allow-Methods', 'POST');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});https://stackoverflow.com/questions/42554456
复制相似问题