使用 Angular 和 NodeJs (CORS) 的跨域请求



我试图通过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();
});

相关内容

  • 没有找到相关文章

最新更新