来自 HttpClient POST 请求的 Angular 6 HTML 响应

Cha*_*Vis 1 typescript angular

我正在尝试进行第三方授权。当我向服务器发出 POST 请求时,它会发送 HTML 作为响应。

标头

private httpOptions = {
    headers: new HttpHeaders({
        'Accept': 'text/html',
        'Content-Type': 'application/json'
}),
    responseType: 'text',
};
Run Code Online (Sandbox Code Playgroud)

API调用

return this.http.post(this.authUrl, this.httpOptions)
    .subscribe(data => {
        console.log(data);
    });
Run Code Online (Sandbox Code Playgroud)

我收到一个语法错误:

JSON.parse 位置 0 处的 JSON 中出现意外标记 <

小智 5

 private httpOptions = {
    headers: new HttpHeaders({
        'Accept': 'text/html',
        'Content-Type': 'application/json'
    }),
    responseType: 'text'
};
Run Code Online (Sandbox Code Playgroud)

您的 HTTP 选项后面有一个额外的逗号responseType:'Text'

return this.http.post(this.authUrl,null, this.httpOptions)
        .subscribe(data => {
            console.log(data);
        });
Run Code Online (Sandbox Code Playgroud)

此外,HttpClientModule的 HTTP POST将有效负载作为 POST 调用中的第二个参数。

  • “您的http选项在responseType:'Text'之后有一个额外的逗号”。它仍然是有效的代码。 (4认同)