我试图通过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.
主域端I设置了标题Access-Control-Allow-Origin
,因此成功地在Chrome上工作。
我尝试过Xdomain库,但我无法获得Angular的成功。我可能会想念一些东西,但我不知道。互联网上没有例子。
在IE上我该怎么办?除了CORS,我还可以使用其他任何方式。
有帮助吗?
谢谢
只是设置"访问控制"标头可能不够,取决于您提出的请求类型。您还应该设置"访问控制 - 允许使用"one_answers"访问控制 - 允许头"
作为一个例子:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, PUT, OPTIONS
Access-Control-Allow-Headers: Content-Type
只需在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();
});