【发布时间】:2019-09-25 19:07:14
【问题描述】:
在我从 4.x 更新到 5 的 Angular 应用程序上工作,并且我有一个调用服务器的服务,但是当开发工具中的网络窗格显示预期响应时,响应为 null。
服务方法如下:
public ExportPendingInvoicesReport(data: InvoicePaginationRequest){
const link = AppSettings.API_REPORTS_EXPORT_PENDING_INVOICES_REPORT;
const params = this.mapRequestParameters(data);
console.log(params.keys());
this.httpClient.get<string>(link, {params}).subscribe((response: any) => {
DownloadHelper.DownloadFile('PendingInvoices.csv', 'CSV', response._body);
})
}
mapRequestParameters 返回一个有效的HttpParams 对象,网络开发工具将其显示为响应:
但在控制台中,我得到了 response 对象的空值。为什么会这样?
使用当前代码更新。
【问题讨论】:
-
您的响应不包含 JSON,因此响应不可能是具有 _body 属性的对象。请参阅 angular.io/api/common/http/HttpClient#get 的重载 #3,了解如何以文本形式获取响应正文。
-
这是有道理的,但即使没有
response._body,response仍然为空。现在看文档。 (即使使用.get<string>().....
标签: angular angular-httpclient