嘿,我在 codeigniter 视图中有一个 javascript 函数,它从 codeigniter 控制器函数中检索一些信息,当达到用户会话的超时时,该函数的行为异常。在被调用的 php 函数中,我有一个如下所示的语句:
if (!$this->tank_auth->is_logged_in()) {
redirect(site_url('login'));}
如果他们没有登录,这会将他们重定向到我的登录页面。但是在 javascript 函数中,我获取响应文本并将 div 的内容设置为等于它。
xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", "mycontroller/myfunction/", false);
xmlhttp.send();
document.getElementById("mydiv").innerHTML=xmlhttp.responseText;
如果用户在调用此函数时已注销,它将返回登录页面的 responseText 并将其插入到 div 中,而不是重定向到登录页面。这看起来很可怕。如果用户会话在查看此页面时超时,我该如何阻止它执行此操作?我无法更改超时限制,因为其他应用程序依赖它。
真的,这根本不是 codeigniter 或 tank_auth 问题,只是当我最初使用该函数为 responseText 生成字符串时,如何从 ajax 请求中调用的 php 函数重定向。