gpt4 book ai didi

angular - "Unexpected end of JSON input" Angular 5

转载 作者:太空狗 更新时间:2023-10-29 17:56:48 24 4
gpt4 key购买 nike

当向 API 发送 GET 请求时,我总是收到错误(因此响应将落入 CATCH 而不是 TRY),即使艰难状态是 200。

请求如下:

// Check if user exists at blur on email input authentication
checkUserExists( platformId: string, email: string) {
return this.http.get(checkUserExistsAPI + `/${platformId}/${email}`);
}

因为我使用的是 Angular 5,所以我取消了 .map(res)。

这里是使用请求的函数:

// Verify if emails exists
verifyEmail(email) {
if (email) {
this.authenticationService.checkUserExists( this.platformId, email )
.subscribe(
(data: CheckEmailResponse) => {
console.log(data);
},
(error: CheckEmailResponse) => {
console.log(error);

}
);
}
}

它永远不会 console.log(data) 因为我总是收到这个错误:

error:{
error: SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at XMLHttpRequest.onLo…, text: ""}
headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, headers: Map(0)}
message:"Http failure during parsing for http://API.com"
name:"HttpErrorResponse"
ok:false
status:200
statusText:"OK"

最佳答案

好的,我想通了。响应没有任何内容主体,Angular 5 默认情况下需要 Json 格式的内容主体,因此它无法工作。无论如何,我只需要状态响应就可以知道它是 200 还是 404。

我将 { responseType: 'text' } 添加到上面的请求中`:

return this.http.get(checkUserExistsAPI +/${platformId}/${email}, { responseType: 'text' });

所以现在它设法转到我的 TRY/CATCH 的 TRY,数据等于“null”。但我不关心数据,因为我只关心状态。无论如何,现在如果状态是200,它会进入TRY,如果状态是404,它会进入CATCH。

关于angular - "Unexpected end of JSON input" Angular 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47592973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com