2015-09-18 143 views
0

我有一个函数为用户请求一次数据。我需要重新加载页面后保存这些数据在一个cookie和服务器读取这些cookie,但我不知道这些cookie是否定义或不。 ¿我如何重新加载一次,如果我没有计数器而不喜欢使用参数?引荐者不会随着重新加载而改变。用JavaScript重新加载页面只能一次加载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

问题是,这些设计对我来说是强制性的。目标是获得这些cookie的参数给我的配置,我有。这些功能很好,测试,但我需要重新加载。 –

回答

0

HTTP是无状态协议,这意味着没有办法 - 在协议中 - 要知道的的状态请求。例如:它是第一次启动还是第二次? 通常的解决方法是根据您的建议或在浏览器端使用cookie向请求中添加参数。这就是会话在Java EE或PHP等平台中的实现方式。

为什么不测试另一个像'从未重新加载'的cookie,如果它不存在:创建这个cookie并重新加载页面。

棘手的部分是什么时候应该删除Cookie,即:您的业务逻辑何时需要您重新加载页面?这取决于你自己决定。

+0

感谢您的想法,对我的奇怪问题很有帮助 –