我有一个无法处理的简单函数,这是ts代码。
update(accNode: CcAccNode): Observable<any> {
return this.http.post<CcAccNode>('/api/core_component/acc/' + accNode.accId, {
'objectClassTerm': accNode.objectClassTerm,
'state': accNode.state,
'den': accNode.den,
'definition': accNode.definition,
'is_abstract': accNode.abstracted,
'is_deprecated': accNode.deprecated,
});
}
日志给了我这种回应:
Request URL: http://localhost:4200/api/core_component/acc/8150
Request Method: POST
Status Code: 405 Method Not Allowed
Remote Address: 127.0.0.1:4200
Referrer Policy: no-referrer-when-downgrade
Access-Control-Allow-Origin: *
allow: GET
如何绕开它?谢谢!
答案 0 :(得分:3)
您正在发出POST
,但是您的服务需要一个GET
请求。
您需要像这样的东西
update(accNode: CcAccNode): Observable<any> {
return this.http.get<CcAccNode>('/api/core_component/acc/' + accNode.accId +
'?objectClassTerm=' + accNode.objectClassTerm +
'state=' + accNode.state +
'den=' + accNode.den +
'definition=' + accNode.definition +
'is_abstract=' + accNode.abstracted +
'is_deprecated=' + accNode.deprecated
);
}
答案 1 :(得分:2)
我不太确定,但是我认为您没有正确添加网址。似乎是在发布到自己的前端服务器上:
http://localhost:4200/api/core_component/acc/8150´
,我不知道这是否是您想要的。
return this.http.post<CcAccNode>('/api/core_component/acc/' + accNode.accId, {...})
也许您应该替换
'/api/core_component/acc/'
与
yourBackendBaseUrl + '/api/core_component/acc/'
答案 2 :(得分:1)
感谢您的所有答复,后端有一个SQL错字,我以为它可能位于前端,但是正如Hjbello告诉我的,这是一个后端问题! 再次感谢你们! :)