Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 饼干不是';获取API请求时未设置';s响应已设置Cookie标头,即使凭据参数设置正确_Javascript_Cookies_Rust_Fetch_Actix Web - Fatal编程技术网

Javascript 饼干不是';获取API请求时未设置';s响应已设置Cookie标头,即使凭据参数设置正确

Javascript 饼干不是';获取API请求时未设置';s响应已设置Cookie标头,即使凭据参数设置正确,javascript,cookies,rust,fetch,actix-web,Javascript,Cookies,Rust,Fetch,Actix Web,我使用fetch从后端请求一个JSON路由,该路由还通过Set Cookie头设置了两个Cookie。我验证了这些cookie是通过Firefox的开发者工具和HTTPie发送的。然而,这些cookie并没有存储在Firefox的任何地方。我正在设置一个仅限HTTP的cookie和另一个具有默认设置的cookie,但这两个cookie都不会粘住(根据JS控制台,默认设置cookie不会显示在document.cookie中,并且两个cookie都不会随后续HTTP请求一起发送)。当我试图研究导致

我使用fetch从后端请求一个JSON路由,该路由还通过Set Cookie头设置了两个Cookie。我验证了这些cookie是通过Firefox的开发者工具和HTTPie发送的。然而,这些cookie并没有存储在Firefox的任何地方。我正在设置一个仅限HTTP的cookie和另一个具有默认设置的cookie,但这两个cookie都不会粘住(根据JS控制台,默认设置cookie不会显示在document.cookie中,并且两个cookie都不会随后续HTTP请求一起发送)。当我试图研究导致此问题的原因时,我发现需要一个特定的设置来获取
fetch
以接受cookies,但我尝试了
凭据:“include'
凭据:“同源”
,两者都不起作用。虽然其他人也有过这个问题,但我找不到一个案例说明这两种方法都不能解决这个问题。这是怎么回事

我的请求是这样的:

let response=wait fetch(“/users/login”{
方法:“post”,
标题:{
“内容类型”:“应用程序/json”
},
凭据:“include”,//我还尝试了凭据:“同源”
正文:JSON.stringify({
电邮:电邮,,
密码:密码
})
});
这是在后端设置cookie的方式(Rust+Actix):

let mut response=HttpResponse::Ok()
.json(LoginResultDto){
你成功了吗,
错误消息:“”,
})
.等待?;
添加_cookie(&cookie::new(“用户名”、&claims.username))//此cookie仅用于前端轻松显示用户名
让mut-token\u-cookie=cookie::new(“token”、&jwt\u-token)//用于后续请求的实际身份验证
令牌\u cookie.set\u http\u only(true);
响应。添加_cookie(&token_cookie)?;
Ok(回复)
我在Linux上使用Firefox81.0.2