[英]Angular http put request not sending headers
i am trying to make a http put request from angular to a node js web API, the request is done correctly the problem is am not getting the values sent in the header in the node js, i made sure that the problem is in the http将请求标头放在 angular 中,因为我使用 postman 使用相同的 header 尝试了相同的请求,并且它运行正确。 这是 Angular 代码:
UpdateRdvById(token){
let httpHeader = {
headers: new HttpHeaders({
"token": "test2" ,
"etat":"test"
})
} ;
return this.http.put(this.base_path+"/user/UpdateRdvByID",httpHeader).pipe()
}
Angular 发送请求后的日志:
n: 0
nModified: 0
opTime: {ts: "6814399187757564185", t: 10}
electionId: "7fffffff000000000000000a"
ok: 1
$clusterTime: {clusterTime: "6814399187757564185", signature: {…}}
operationTime: "6814399187757564185"
__proto__: Object
这是节点js代码:
router.put("/UpdateRdvByID", async (req, res) => {
try {
var host = req.headers['token'];
var etat = req.headers['etat'];
var query = { _id : host };
console.log('id'+req.headers['token']);
console.log('etat'+req.headers['etat']);
const rdv = await Rendezvous.updateOne(query,{etat:etat});
res.json(rdv);
} catch (err) {
console.log(err) ;
res.send({ message: "Error in Fetching rendez vous"+err});
}
});
这是它应该从标题中打印值但它变得“未定义”的问题。 节点js日志:
idundefined
etatundefined
put 方法的前两个 arguments 是 (URL, body),第三个可选的是包含标题的选项,因此您需要将其更改为: put(this.base_path+"/user/UpdateRdvByID", null, { httpHeader } )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.