我正在尝试使用angular 5将数据发布到服务器。 我的代码是:
createProfile(newProfile: NewProfile) {
this.http.post<NewProfile>(this.messageUrlPost, CreateFormData.createFormData(newProfile), {withCredentials: true, observe: 'response'}).subscribe(resp => {
// Read the result field from the JSON response.
console.log(resp.body);
});
}
为了能够执行请求,我需要传递身份验证cookie。所以我使用:
withCredentials: true
。但由于某种原因,这不适用于Chrome(它拒绝发送cookie)。在Firefox和Edge上它确实有效。
答案 0 :(得分:0)
我发现了问题。
npm start
上的{p> localhost
开放网站我在192.168.0.15
上调用了api(在这种情况下,它与localhost
的PC相同,但我需要为本地网络打开api )
Firefox和Edge可以使用此设置。但Chrome不是。所以我补充道:
"defaults": {
"serve": {
"host": "192.168.0.15"
},
到.angular-cli.json
以在192.168.0.15
(与api相同的地址)上加载网站,而不是默认localhost
,因此Chrome开始发送Cookie。