1

我不知道如何处理 @ngrx/effects 中的非 JSON 数据

我想解析文本而不是 JSON

//effects
@Effect() getNonJsonData = () => this.actions
        .ofType<GetNonJsonAction>(GET_NON_JSON_DATA)
        .switchMap(() => this.api
            .getNonJsonData()
            .map(getNonJsonDataFulfilled)
            .catch(error => Observable.of(getNonJsonDataRejected(error)))
        )
//api
getNonJsonData(): Observable<string> {
    return this.http.get<string>('my_http_url');// It returns 'ACCESS' or 'NON_ACCESS' string not return JSON
}

它总是去getNonJsonDataRejected行动,它不去getNonJsonDataFulfilled行动。

我收到此错误消息 "Http failure during parsing, name:"HttpErrorResponse"

SyntaxError: Unexpected token A in JSON at position 0 at Object.parse (<anonymous>) at XMLHttpRequest.onLoad

请告诉我。

4

1 回答 1

1

最后我找到了答案,我们需要{responseType: 'text'}在http api调用中添加,所以代码是,

getNonJsonData(): Observable<string> {
   return this.http.get('my_http_url', {responseType: 'text'});
}

参考:https ://blog.hackages.io/angular-http-httpclient-same-but-different-86a50bbcc450

于 2018-01-11T06:27:19.593 回答