代码之家  ›  专栏  ›  技术社区  ›  Azoulay Jason

new HttpHeaders().set()不设置头-离子/角度

  •  0
  • Azoulay Jason  · 技术社区  · 8 年前

    加载失败 http://localhost:3000/crm/getAllClients :响应 飞行前请求未通过访问控制检查:否 “Access Control Allow Origin”标头出现在请求的 资源。'原点' http://localhost:8100 因此不允许

    我在nodeJs中设置了cor,如下所示:

    app.use(cors());
    

    要使用Ionic发出HTTP请求,请执行以下操作:

    import {HttpClient, HttpHeaders} from "@angular/common/http";
    

    以下是我的离子服务代码:

     initHeaders() {
        let headers = new HttpHeaders()
          .set('Access-Control-Allow-Origin', "*")
          .set("Content-Type", "application/json")
          .set("Access-Control-Expose-Headers", "Content-Length");
    
        return headers;
      }
    
      getAllClients () {
        return this.http.get(this.domain + 'crm/getAllClients', {headers: this.initHeaders()});
      }
    

    以下是未设置标题的标题:

    enter image description here

    2 回复  |  直到 8 年前
        1
  •  1
  •   hjbello    8 年前

    我以前也有过类似的问题。据我所知你没有做错什么,你的三个头球在里面 “访问控制请求头” (在你的截图下) “请求头” . “访问控制请求头” .

    app.use(function (req, res, next) {
    res.header("Access-Control-Allow-Headers", "Access-Control-Expose-Headers, Content-Type, Accept");
    next();
    });
    

    而不是使用

    app.use(cors())
    

        2
  •  0
  •   Azoulay Jason    8 年前

    我的问题是,在我设置了自己的路由之后,我给cors中间件打了电话应用程序.js在节点中!

    // set it before routes !
    app.use(cors());
    
    app.use('/', index);
    app.use('/crm', crm);
    
    推荐文章