在Aurelia中添加“Access-Control-Allow-Origin”标头

时间:2017-02-07 15:36:46

标签: amazon-web-services aurelia aurelia-http-client

当我尝试通过Aurelia前端访问我的API时,出现以下错误:

  

XMLHttpRequest无法加载   https://[my这里的API URL] / auth。   对预检请求的响应未通过访问控制检查:否   请求中存在“Access-Control-Allow-Origin”标头   资源。因此不允许来源“http://localhost:9000”   访问。响应具有HTTP状态代码403

这是我的代码:

 constructor(Aurelia, HttpClient) {

    HttpClient.configure(http => {
      http.withBaseUrl(config.baseUrl);
    });

    this.http = HttpClient;
    this.app = Aurelia;

    this.session = JSON.parse(localStorage[config.tokenName] || null);
  }

login(username, password) {

    var client = new HttpClient();
    client.createRequest(config.apiUrl + '/auth', { username, password })
      .asPost()
      .withHeader('Access-Control-Allow-Origin', '*')
      .withBaseUrl(config.baseUrl)
      .send()
      .then((response) => response.content)
      .then((session) => {
        localStorage[config.tokenName] = JSON.stringify(session);
        this.session = session;
        this.app.setRoot('app');
    });
  }

我做错了什么?

在Postman中它可以正常工作。

1 个答案:

答案 0 :(得分:0)

我通过使用'启用CORS'来解决问题。在AWS API网关界面中,再次部署API。谢谢你指出我正确的方向!!