我有以下文件文件夹结构: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条经验 获得超4个赞
经过长时间的尝试,原来问题出在浏览器缓存上。我正在使用 Chrome,在删除所有存储的缓存和 cookie 后,问题不再发生——至少到目前为止是这样。感谢上帝!
- 1 回答
- 0 关注
- 90 浏览
添加回答
举报
0/150
提交
取消