美文网首页Angular 8
Angular 8 HttpClient “Http failu

Angular 8 HttpClient “Http failu

作者: bei6 | 来源:发表于2019-03-19 13:18 被阅读92次

    使用 Angular HttpClient 在进行请求时,遇到异常:"Http failure during parsing",查看网络会发现其实请求已经成功了,只是说一个类似转型失败的错误。

    一般情况下的解决方法是修改 responseType,修改为正确的类型即可。

    例如我的请求返回的实际上是一个 text,然而如下代码默认要求 responseTypejson

    this._http
          .post(url, params, { headers: header })
          .subscribe(
            (data: any) => {
              console.log('success')
            },
            error => {
              console.log(error)
            }
          );
    

    可以通过查看 post 函数源码发现,默认情况下,相应类型被定义为 json,所以只需要修改这个值即可解决问题。

        /**
         * Construct a POST request which interprets the body as JSON and returns it.
         *
         * @return an `Observable` of the body as an `Object`.
         */
        post(url: string, body: any | null, options?: {
            headers?: HttpHeaders | {
                [header: string]: string | string[];
            };
            observe?: 'body';
            params?: HttpParams | {
                [param: string]: string | string[];
            };
            reportProgress?: boolean;
            responseType?: 'json';
            withCredentials?: boolean;
        }): Observable<Object>;
    

    修改很简单:

    .post(url, params, { headers: header, responseType: "text" })
    

    相关文章

      网友评论

        本文标题:Angular 8 HttpClient “Http failu

        本文链接:https://www.haomeiwen.com/subject/eregmqtx.html