我有以下文件文件夾結構:public_html >> index.php、post.php 等public_html >> 包括 >> common.php、security.php、ajaxfile.php 等。public_html >> ajaxlibs >> chk_login.php 等下面的文件有很多功能,包括一個用于登錄的功能,幾乎所有地方都會調用該文件:安全.php: <?php//checking user credentials goes here ......//........... function logIn($newToken,$uID) { $cookieExpiry= time()+36000; //set user login (ul) cookie: setcookie('token',$newToken,$cookieExpiry,'/','',FALSE,true); setcookie('uid',$uID,$cookieExpiry,'/','',FALSE,true); return 'success'; } //if user credentials are valid: logIn('token_hashed_via_another_func', $uID);?>cookie 在登錄時完美設置,如下所示:Cookie 名稱:token,值:'token_hashed_via_another_func',路徑:'/'但是當我調用與 security.php 位于同一目錄的 AJAX 文件時,例如 include/ajaxfile.php,我得到一個具有不同值和路徑的新 cookie,如下所示:Cookie 名稱:token,值:'different_value_with_unkown_hashing_resource',路徑:'/include/'因此,我得到了一個名稱相同但值和路徑不同的新 cookie,并且原始 cookie 沒有被刪除。令人驚訝的是,如果我將同一個 AJAX 文件移動到另一個文件夾而不是具有 security.php 的文件夾,我不會遇到同樣的問題。我幾乎可以肯定它在某種程度上與 AJAX 有關,因為當我需要來自同一目錄(即包含)的文件時,問題不會發生。這是我如何調用 AJAX 文件的示例:$.ajax({ type: "GET", url: "include/ajaxfile.php", dataType: "text", async: true, cache: false, timeout: 40000, success: function(response) { //do something or even nothing }, error: function() { alert("error!"); } });
1 回答

收到一只叮咚
TA貢獻1821條經驗 獲得超5個贊
經過長時間的嘗試,原來問題出在瀏覽器緩存上。我正在使用 Chrome,在刪除所有存儲的緩存和 cookie 后,問題不再發生——至少到目前為止是這樣。感謝上帝!
- 1 回答
- 0 關注
- 110 瀏覽
添加回答
舉報
0/150
提交
取消