1. 程式人生 > >ajax 輪詢(適合web端二維碼請求)

ajax 輪詢(適合web端二維碼請求)

取消 請求 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端二維碼請求)