我有一个为用户请求数据一次的功能。我需要在将这些数据保存在cookie中后重新加载页面并且服务器读取这些cookie,但我不知道这些cookie是否已定义。 ¿如果我没有计数器并且不喜欢使用参数,我如何重新加载一次?推荐人不会随着重新加载而改变。
我现在有了这个methot,但我喜欢更改删除参数:
function getURLParameter(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [, ""])[1].replace(/\+/g, '%20')) || null
}
if (getURLParameter('reload') != 'true') {
//here have function for load cookie
window.location = window.location.href + '?reload=true';
}
答案 0 :(得分:0)
HTTP是一种无状态协议,这意味着在协议内无法知道请求的状态。例如:它是第一次启动还是第二次启动? 通常的解决方法是在请求中添加一个参数,就像您在浏览器端建议或使用cookie一样。这就是在Java EE或PHP等平台上实现会话的方式。
为什么不测试另一个像“从未重新加载”的cookie,如果它不存在:创建此cookie并重新加载页面。
棘手的部分是何时应删除cookie ,即:您的业务逻辑何时需要您重新加载页面?这取决于你决定。