首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有CORS的角5调用api

有CORS的角5调用api
EN

Stack Overflow用户
提问于 2018-05-09 19:12:06
回答 1查看 507关注 0票数 1

你好,我正在创建一个角度应用程序,我需要调用一个API。我遇到了CORS错误。“无访问-控制-允许-原产地”,这是我已经找到了一个few things在网上,但我仍然不知道我应该在哪里添加middlewhere。我想知道是否有人能具体说明如何使它与角的cli一起工作。

如果打开命令提示符并键入ng new test,则打开该测试文件夹并键入npm start。您可以添加调用api的代码,比如localhost/someapi/api/people,但是因为您没有调用localhost:4200,所以会得到这个错误。

因此,为了使我的问题明确,我理解您需要在服务器上添加cors中间的位置。,但问题是,在角5应用程序中,我应该添加这个作为节点读取它并允许它工作吗?

下面是我用来调用api的代码。

代码语言:javascript
复制
getToken():void{
    let headers = new Headers({'Content-type': 'application/x-www-form-urlencoded'})

    let params = new URLSearchParams();
    params.append('username','some-username');
    params.append('password', 'some-encripted-password');
    params.append('grant_type', 'password');

    let options =  new RequestOptions();
    options.headers = headers;

    this.http
        .post(this.appConfig.baseRoute + 'token',params.toString(), options) 
        .subscribe(result=>{ });
  }
EN

回答 1

Stack Overflow用户

发布于 2018-05-09 21:02:30

CORS头应该按照您提供的链接中的答案在服务器端设置。如果您的服务器需要身份验证令牌,那么除了身份验证令牌之外,不应该在角客户端设置任何东西。

为了简化本地开发,您可以为ng服务设置一个代理。

在根目录中添加此文件(带有角-cli.json的文件夹)

proxy.conf.js

代码语言:javascript
复制
const PROXY_CONFIG = [
  {
      context: [
          // what routes to proxy
          "/api",
      ],
      // your backend api server
      target: "http://localhost:8000",
      secure: false
  }
]

module.exports = PROXY_CONFIG;

而不是调用ng服务,而是使用ng serve --proxy-config proxy.conf.js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50260515

复制
相关文章

相似问题

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