在调用http post请求时,需要在options参数中设置responseType为blob,同时将observe设置为'response',这样可以获取到完整的响应对象。然后使用FileReader读取blob数据,并将读取到的数据转化为json格式进行处理,从而得到服务器返回的错误信息。
示例代码如下:
import {HttpClient, HttpHeaders, HttpErrorResponse} from '@angular/common/http';
const options = {
headers: new HttpHeaders({'Content-Type': 'application/json'}),
observe: 'response',
responseType: 'blob'
};
this.http.post('http://your-api-url.com', yourRequestBody, options)
.subscribe((response) => {
const reader = new FileReader();
reader.onload = () => {
const jsonResponse = JSON.parse(reader.result);
console.log(jsonResponse); // 打印服务器返回的json格式错误信息
};
reader.readAsText(response.body);
}, (error: HttpErrorResponse) => {
console.log(error); // 打印http请求错误信息
});