gpt4 book ai didi

reactjs - 如何在react中设置cookie?

转载 作者:行者123 更新时间:2023-12-03 12:56:10 26 4
gpt4 key购买 nike

本来,我使用下面的ajax来设置cookie。

function setCookieAjax(){
$.ajax({
url: `${Web_Servlet}/setCookie`,
contentType: 'application/x-www-form-urlencoded;charset=utf-8',
headers: { 'Access-Control-Allow-Origin': '*',
'username': getCookie("username"),
'session': getCookie("session")
},
type: 'GET',
success: function(response){
setCookie("username", response.name, 30);
setCookie("session", response.session, 30);}
})
}

function setCookie(cname, cvalue, minutes) {
var d = new Date();
d.setTime(d.getTime() + (minutes*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires;
}

export const getUserName = (component) => {
setCookieAjax()
$.ajax({
url: `${Web_Servlet}/displayHeaderUserName`,
contentType: 'application/x-www-form-urlencoded;charset=utf-8',
headers: { 'Access-Control-Allow-Origin': '*',
'username': getCookie("username"),
'session': getCookie("session")
},
type: 'GET',
success: function(response){
component.setState({
usernameDisplay: response.message
})
}.bind(component)
})
}

现在,我想使用 servlet 的添加 cookie 功能来设置 cookie。但我不知道如何实现我的目的。

Cookie loginCookie = new Cookie("user",user);  //setting cookie to expiry in 30 mins
loginCookie.setMaxAge(30*60);
loginCookie.setDomain("localhost:4480");
loginCookie.setPath("/");

response.addCookie(loginCookie);

为了延长cookie的时间限制,我应该在react端编写什么来接收cookie的 session 时间?

最佳答案

之前出现在 react-cookie npm 包中的功能似乎已移至 universal-cookie 中。相关示例来自 universal-cookie repository现在是:

import Cookies from 'universal-cookie';
const cookies = new Cookies();
cookies.set('myCat', 'Pacman', { path: '/' });
console.log(cookies.get('myCat')); // Pacman

关于reactjs - 如何在react中设置cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39826992/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com