2015-09-18 180 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

感謝您的想法,對我的奇怪問題很有幫助 –