在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  HTML/ 想不懂這個問題出在哪里

想不懂這個問題出在哪里

jQuery 代碼:

var iCount =  setInterval(ChangeTime, 3500);
function ChangeTime() {

    $.ajax({
        type: "POST",
        url: "/Home/Index",
        success: function(msg){
               if(msg == 1){
                  clearInterval(iCount); //停止刷新事件,防止出現(xiàn)請求多次
                  location.href = '/Home/reg_result_no_card';
                  return false;
               }
        }

    });
}

這個是ajax 在一個A界面輪詢,當查找到/Home/Index有數(shù)據(jù)時,停止事件,
跑到/Home/reg_result_no_card界面打印,打印是會自動返回這個A這個界面的
問題來了: 偶爾有時候不跑去打印界面,而是F5刷新網(wǎng)頁就跑去打印?
這能是什么原因造成

回答
編輯回答
怣痛

這個情況很詭異,也是題主的邏輯有問題,setInterval大概每3500ms執(zhí)行一次,但是ajax異步的結(jié)果什么時候返回呢?這個時間不確定,所以邏輯不好,建議修改:

  1. 在ajax添加timeout
  2. 不使用setInterval,而是在ajax的返回中根據(jù)判定使用來遞歸調(diào)用自身;
function ChangeTime() {

    $.ajax({
        type: "POST",
        url: "/Home/Index",
        success: function(msg){
               if(msg == 1){
                  //clearInterval(iCount); //停止刷新事件,防止出現(xiàn)請求多次
                  location.href = '/Home/reg_result_no_card';
                  return false;
               } else {
                   ChangeTime();
               }
        }

    });
}
2017年2月23日 06:19