ajax 輪詢(適合web端二維碼請求)
阿新 • • 發佈:2018-03-28
取消 請求 n) text 自己 代碼 ajax style floor
(前幾天 一直弄二維碼輪詢登錄 想了半天 總算弄出來了 分享給大家 ^-^)
輪詢:
所謂輪詢 肯定需要 setInterval 但是怎麽加ajax請求 需要有點小問題而且輪詢成功後需要停止 下來看代碼吧
var tis = setInterval(function(){$.ajax(getting)},3000);//{調用ajax(自己封裝的數據)},每3秒執行一次 var getting = { type:‘GET‘, url://地址, success: function (obj) { console.log(obj)//這裏需要你判斷服務器返回的數據 //成功後取消clearTimeout(tis); }, error: function (err) { console.log(err); } }
大家如果寫掃碼登錄的話 肯定在URL地址拼接時間戳 給大家寫一個時間戳的封裝函數 直接調用即可
Date.prototype.format = function (format) { var args = { "M+": this.getMonth() + 1, "d+": this.getDate(),"h+": this.getHours(), "m+": this.getMinutes(), "s+": this.getSeconds(), "q+": Math.floor((this.getMonth() + 3) / 3), //quarter "S": this.getMilliseconds() }; if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));for (var i in args) { var n = args[i]; if (new RegExp("(" + i + ")").test(format)) format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? n : ("00" + n).substr(("" + n).length)); } return format; }; var tims = new Date().format("yyyyMMddhhmmssS")//調用格式根據需求比如:("yyyy-MM-dd-hh-mm-ssS") console.log(tims)
^-^
ajax 輪詢(適合web端二維碼請求)