【发布时间】:2023-12-06 23:18:01
【问题描述】:
我正在发布一个请求,并且我想收到一个“成功”字符串作为响应。我收到一个 HttpResponseError ,并在下图中发布了以下信息。
PurchaseOrderService
postPurchaseOrderCustom(purchaseOrderCustom: PurchaseOrderSaveCustom) {
const url = `${this.localUrl}purchaseOrderCustom`;
return this.http.post<String>(url, purchaseOrderCustom, {headers: this.header})
.pipe(
catchError(this.handleError('postPurchaseOrderCustom', 'I am an error'))
);
}
PurchaseOrderComponent
this.purchaseOrderService.postPurchaseOrderCustom(purchaseOrderCustom).subscribe( response => {
console.log("Testing", response);
},
error => {
console.error('errorMsg',error );
}
我这样做的方式与文档中的方式相同。请指出我做错了什么。
【问题讨论】:
-
这是给你的 api 响应的角度错误,http 对象默认尝试解析你的 api 响应它只看到纯文本这为什么抛出这个 cand 错误,在你的控制台中试试这个@ 987654327@如果你没有收到我的电话
-
要么在后端将您的回复用引号括起来,要么在前端将
responseType更改为“文本” -
@user184994 在后端用引号括起来是什么意思,它已经在引号中,这使它成为一个字符串。那就是如果我让你写。如果你收到一个对象回来会发生什么
-
是的,但是您需要额外的引号,例如 `"\"success\""。如果您收到一个有效的 JSON 对象返回,则不会有任何问题,这取决于您说“一个对象”时的意思
-
@user184994 我使用 springboot 作为我的后端,通常当您发送一个对象时,它会被解析为 Json 并转换为 Angular 中的对应对象。那就是如果我是正确的。那么为什么它与字符串对象不同。
标签: angular rest typescript xmlhttprequest httpresponse