【问题标题】:Response not returing properly响应未正确返回
【发布时间】:2019-03-27 16:22:55
【问题描述】:

当我进行 api 调用时,我返回 200,但响应返回 html,并且我在控制台中得到的错误是解析 http://moviereview.test/moviereview/api/v1/public/login?email=conor@testing.com&password=name 期间的 Http 失败”响应是 json 格式有人可以告诉为什么会这样我也知道在 url 中发布密码是不好的做法,我只是想让响应正常工作,然后在邮递员中运行它时解决任何安全问题,它会以 JSON 形式返回它

/*Login Component*/
onSubmit() {
  this.api.login(this.user.email, this.user.password).subscribe(
    data => {
        this.user = data;
        localStorage.setItem('currentUser', JSON.stringify(this.user));
    });
 }
}
/*Login Service*/
  login(email: string, password: string) {
                const httpOptions = {
                  headers: new HttpHeaders({
                    'Content-Type':  'application/json'
                  })
                };
                return this.http.post<any>(this.env.LOCAL_ENDPOINT + '/login?email=' + email + '&password=' + password, httpOptions);
            }

【问题讨论】:

  • 您能否分享一下您的开发人员工具的“网络”选项卡中的实际响应?看起来 JSON 没有被返回,而是一个 HTML 错误页面。查看错误,text 部分看起来是 HTML 而不是 JSON。
  • 更新了 html 响应
  • 这就是响应选项卡中显示的全部内容

标签: angular lumen


【解决方案1】:

您在请求中将 HttpOptions 作为正文传递。 http客户端上post方法的第二个参数是请求体。对于登录,您应该使用 post 方法并在请求正文中传递电子邮件和密码,如下所示:

/*Login Service*/
login(email: string, password: string) {
            const requestBody = {
                email: email,
                password: password
            };
            const httpOptions = {
              headers: new HttpHeaders({
                'Content-Type':  'application/json'
              })
            };
            return this.http.post<any>(this.env.LOCAL_ENDPOINT + '/login', requestBody, httpOptions);
        }

【讨论】:

  • 这将是端点的问题,因为该 http 请求是有效的。您的端点是否需要获取请求或发布请求?
  • 当我在邮递员中运行查询时,它期待一个发布请求,它返回带有正确数据的响应
  • 我可以看到您的问题。您正在发送带有查询参数的发布请求。在大多数情况下(包括这种情况),这对于发布请求来说很奇怪。您需要更改服务器以从请求正文而不是请求查询参数中获取电子邮件和密码。
  • 感谢您的所有帮助,这是 api 在它与邮递员一起使用的 web 应用程序中指向的 url,因为 url 是正确的,但它没有角度工作,因为 url 指向错误的地方这就是为什么它会返回 html 并且我已经切换了查询参数以使用有效负载
猜你喜欢
  • 2016-02-28
  • 1970-01-01
  • 2014-12-18
  • 2018-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多