我有一个未调用的HTTPPUT请求。我有一个类似的请求请求,可以管理另一个选项卡,并且可以正常工作。这两页非常相同。我不知道我在做什么错。
我几乎尝试了所有东西,不知道还能尝试什么。
控制器:
[HttpPut]
[Route("updateAllocations({type})")]
public IHttpActionResult UpdateAllocations(string type, T_LOC entity)
{
System.Diagnostics.Debug.WriteLine("inside");
_allocationsService.UpdateAllocations(type,entity);
return Ok();
}
界面:
using OTPS.Core.Objects;
using System.Collections.Generic;
using OTPS.Core.Models;
namespace OTPS.Core.Interfaces
{
public interface IAllocationsService
{
void UpdateAllocations(string type, T_LOC entity);
}
}
服务:
public void UpdateAllocations(string type, T_LOC entity)
{
System.Diagnostics.Debug.WriteLine("inside");
}
客户端:
public updateAllocation(type: string , entity) {
console.log("sdfsdf")
console.log(`${this.baseUrl}/api/allocations/updateAllocations(${type})`)
return this.http.put(`${this.baseUrl}/api/allocations/updateAllocations({type})`, entity, { headers: this.headers, withCredentials: true })
.pipe(catchError((error: Error) => {
console.log("sdfasd111111sdf")
return this.errorService.handleError(error);
}));
}
我希望客户端在进行进一步逻辑处理之前先调用put请求,但是服务器端的打印永远不会被调用。
答案 0 :(得分:0)
确保您subscribe
进入组件内部的服务方法:
this.myService.updateAllocation(type, entity).subscribe( response => {
// do something here with response
});
您必须致电
subscribe()
否则什么都不会发生。刚打电话 服务方法不会启动PUT / DELETE / POST / GET请求。始终订阅!
一个HttpClient方法在您调用之前不会开始其HTTP请求
subscribe()
关于该方法返回的可观察对象。这是真的 用于所有HttpClient
方法。