【发布时间】:2020-01-27 12:07:00
【问题描述】:
我正在使用httpClient 发送post 请求,但通过请求处理成功获得null 响应。
serviceClass.ts文件
this.httpOptions = {
headers: new HttpHeaders(
{
'Content-Type': 'application/json; charset=utf-8',
'tenant-code' : 'VdoFWiHL8RFR8fRGNjfZI=',
'Authorization': 'Basic ' + btoa('pass:username')
})
}
public Reprocess(ObjProduct) {
var Jobj=JSON.stringify(ObjProduct);
return this._http.post(this.ReprocessUrl,Jobj,this.httpOptions)
}
当我在 Component 中调用上述方法时,我收到了来自 API 的 null 响应。
组件代码
var op = this.objService.reprocess(this.reprobj);
console.log("output: ", op);
这里op 完全无法理解,它显示_scaler=false 等。我怎样才能获得服务调用的正确状态?
编辑 1:当我向邮递员提出相同的请求时,获得状态 Ok 200。
编辑 2: 下面的代码也给出了null 结果(根据@Spart_Fountain 的回答)
var op= this.restApi.Reprocess(this.reprobj).subscribe((data:any) => {
console.log("data "+ data);
});
邮递员头部截图
【问题讨论】:
-
你怎么知道它成功了?你在哪里查的?
-
bcz 记录存储在数据库中..
-
好的,那么服务器配置回送什么?服务器可能没有被编程为向发出 HTTP 请求的客户端发送任何内容。
-
我想要像“Ok”这样的 http 状态。我想向用户显示味精 成功创建 但没有状态我不能这样做。配置服务器不在我手中。当我从 .Net 应用程序调用相同的服务时,得到 http 响应“Ok”。
-
尝试通过类似邮递员的方式发出相同的请求,看看会有什么响应。此外,在
subscribe中使用console.log("resp from api service: ", resp);而不是添加+。这会强制调用对象的toString()方法(这是次要的,可能不是问题)。
标签: angular typescript httprequest