首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Angular & NodeJs (CORS)的跨域请求

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

Stack Overflow用户
提问于 2017-03-02 19:38:56
回答 2查看 1.3K关注 0票数 0

我正在尝试处理跨域请求(GET、POST、DELETE...)通过CORS使用Angular和NodeJs。当我在Chrome浏览器上尝试时,我是成功的,但在Win7上的IE11上,我得到了以下错误。

代码语言:javascript
复制
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之外的任何其他方法。

有什么帮助吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2017-03-02 19:54:03

仅仅设置"Access-Control-Allow-Origin“头可能是不够的,这取决于您发出的请求的类型。您还应该设置"Access-Control-Allow-Methods“和"Access-Control-Allow-Headers”

举个例子:

代码语言:javascript
复制
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, PUT, OPTIONS
Access-Control-Allow-Headers: Content-Type
票数 1
EN

Stack Overflow用户

发布于 2019-06-22 14:22:52

在nodejs端尝试一下这段代码,它是有效的

代码语言:javascript
复制
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();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42554456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档