Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery和ajax奇怪的行为_Jquery - Fatal编程技术网

JQuery和ajax奇怪的行为

JQuery和ajax奇怪的行为,jquery,Jquery,我使用以下函数检查是否存在登录cookie。如果cookie消失,用户将被带到站点的公共端。cookie允许用户保留在私有部分 我在私有端使用AJAX更新,在使用setInterval执行checkCookie函数之后,在这一点之后发生的任何更新都会在另一个窗口中打开一个窗口;很像一个框架在另一个框架内打开。在此函数激发之前发生的任何更新都是正常的 当我对以下代码进行注释时,所有更新都不会出现任何问题 为什么会发生这种情况?我能做些什么来纠正这种情况 function checkCookie

我使用以下函数检查是否存在登录cookie。如果cookie消失,用户将被带到站点的公共端。cookie允许用户保留在私有部分

我在私有端使用AJAX更新,在使用setInterval执行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      
}

谢谢罗克逊,但那没用。我仍然让这些窗户互相打开。不过我很感激你的回答。