国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

Ajax輪詢請求狀態(微信公眾號帶參數二維碼登錄網站)

2024-09-01 08:27:42
字體:
來源:轉載
供稿:網友

這里要實現的功能是:通過掃碼微信公眾號帶參數的二維碼,來登錄網站。

但很明顯,如果ajax不間斷的請求服務器,這樣會加重服務器的負荷,所以本例采用的是js的setInterval來周期性調用執行一個ajax函數來來向服務器請求數據,但請求成功或者請求一定次數后還未成功時用clearinterval函數清空計時器。

代碼和注釋如下:(后端采用thinkPHP實現,所以js代碼中含有一些thinkPHP的語法規則)

<script type="text/javascript" src="__CSS__/bootstrap-3.3.5-dist/js/bootstrap.min.js"></script><script type="text/javascript">var uid = "{$uid}";var i = 0;var timer;$().ready(function(){//打開掃碼登錄模態框$('#login').click(function(){//如果用戶已經登錄,則返回if(uid){ return ;}//打開模態框,通過remote選項從遠程加載數據$('#loginModel').modal({remote: "{:U('user/login')}"});});//模態框隱藏之后清空數據$("#loginModel").on("hidden.bs.modal", function() {$(this).removeData("bs.modal");});//當模態框顯示出來后,通過定時返回來向服務器請求數據,定時器是每三秒請求一次服務器$('#loginModel').on('shown.bs.modal', function (e) {timer = setInterval(ajax_request, 3000);});});//ajax 請求函數,function ajax_request(){i++;//如果已經請求20此沒有請求成功,則強制結束,給出提示信息,因為每3s調用一次,供調用20次,大概就是一分鐘的時間if(i > 20){$('.login_info1').html('<span style="color:red;">登錄超時,如需登錄請刷新頁面~</span>');clearInterval(timer);return ;}$.ajax({type: "post",url: "{:U('User/login_qrcode')}",timeout : 3000,data: { "scene_id": $('#scene_id').val() },success: function (msg){ if(1 == msg.status){$('.login_info1').html('<span style="color:#0C9;">'+msg.info+'</span>');setTimeout(refresh, 3000);return ;}},error: function(){}});}//重載頁面function refresh(){location.reload();}</script>

好了,代碼到此結束,希望對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌鲁木齐县| 肇庆市| 芒康县| 凌云县| 沛县| 米脂县| 河间市| 大埔县| 阜康市| 沂源县| 威信县| 乌拉特前旗| 九江县| 凤翔县| 甘肃省| 博白县| 蒙山县| 正定县| 阿合奇县| 行唐县| 江口县| 宁南县| 漳州市| 和林格尔县| 马鞍山市| 象州县| 绥芬河市| 旅游| 兴业县| 石林| 封丘县| 大庆市| 开鲁县| 榆中县| 辽阳市| 枣阳市| 青神县| 永仁县| 化州市| 日照市| 惠安县|