Angular:发布请求成为选项

时间:2018-08-03 18:07:55

标签: angular rest angular6

我正在使用角度6(httpClient),尝试登录,不需要令牌,仅用户名和密码,就无法修改服务器。

login.ts

  onLogin() {
    this.authService.login(this.email, this.password).subscribe(data => {
      console.log(data);
    });
  }

auth service

  login(username, password) {
    const data = {
      username: username,
      password: password
    };

    const headers = new HttpHeaders();
    headers.set('Content-Type', 'application/json');
    return this.http.post(this.login_url, data, { headers: headers });
  }

有很多问题,例如this one,但这些问题是针对angularjs的,而我使用的是angular 6,有些答案使文章阅读起来没有任何实际的编码答案,有些回答说要更改标头,但到目前为止从邮递员测试中可以看出,服务器仅接受'Content-Type', 'application/json',并且在邮递员上运行良好。当我按角度进行操作时,我的发帖请求将成为选项。

甚至有人说要避免CORS,您应该设置一个拦截器,但这是针对您有令牌的人,不是吗?您将其保存在localStorage中,然后使用它,我没有令牌。标头中的服务器X-Session

有人说要创建代理package.json

`"start": "ng serve --proxy-config proxyconfig.json",`

proxyconfig.json

{
    "/api": {
        "target": "example.com",
        "secure": false,
        "changeOrigin": true
    }
}

login_url中的auth service指向没有/example/api的其余端点。我也尝试过,它也不起作用。

有人说,您必须编辑Web服务器,添加Access-Control-Allow-Origin,如果可能的话,我不想这样做。如果没有,我会联系我的公司并请他们这样做。我想要一个使用角度6的解决方案。

0 个答案:

没有答案