JQuery和ajax奇怪的行为
我使用以下函数检查是否存在登录cookie。如果cookie消失,用户将被带到站点的公共端。cookie允许用户保留在私有部分 我在私有端使用AJAX更新,在使用setInterval执行checkCookie函数之后,在这一点之后发生的任何更新都会在另一个窗口中打开一个窗口;很像一个框架在另一个框架内打开。在此函数激发之前发生的任何更新都是正常的 当我对以下代码进行注释时,所有更新都不会出现任何问题 为什么会发生这种情况?我能做些什么来纠正这种情况JQuery和ajax奇怪的行为,jquery,Jquery,我使用以下函数检查是否存在登录cookie。如果cookie消失,用户将被带到站点的公共端。cookie允许用户保留在私有部分 我在私有端使用AJAX更新,在使用setInterval执行checkCookie函数之后,在这一点之后发生的任何更新都会在另一个窗口中打开一个窗口;很像一个框架在另一个框架内打开。在此函数激发之前发生的任何更新都是正常的 当我对以下代码进行注释时,所有更新都不会出现任何问题 为什么会发生这种情况?我能做些什么来纠正这种情况 function checkCookie
function checkCookie(){
$.ajax({
type: "POST",
url: "/index.php",
data: "loaded=true",
dataType: 'json',
success: function(data){
if(data.cookie == 0){
window.location.href = data.href;
}
}
});
}
window.setInterval(checkCookie, 60000);
设置对新URL发出GET请求的
window.location.href
,而不是POST,因此使用window.location.href
无法发送POST请求
您需要做的是设置一个表单标记,其中包含数据字段,将表单的action属性设置为URL,将method属性设置为POST,然后在表单标记上调用submit方法
(摘自:)
window.location.reload()
用POST数据重新加载当前页面
您仍然必须使用:
if( $.cookie('cookieName') == null ) {
//do something
}
谢谢罗克逊,但那没用。我仍然让这些窗户互相打开。不过我很感激你的回答。