Dieses Mal zeige ich Ihnen, wie Sie den Ajax-Polling-Anfragestatus implementieren Vorsichtsmaßnahmen , um den Ajax-Polling-Anfragestatus zu implementieren.
Die hier zu implementierende Funktion besteht darin, sich auf der Website anzumelden, indem der QR-Code des offiziellen WeChat-Kontos mit Parametern gescannt wird.
Aber wenn Ajax den Server kontinuierlich anfordert, erhöht dies natürlich die Belastung des Servers. In diesem Beispiel wird setInterval von js verwendet, um regelmäßig eine Ajax-Funktion aufzurufen und auszuführen, um Daten vom Server anzufordern. Verwenden Sie jedoch das ClearInterval Funktion zum Löschen des Timers, wenn die Anfrage erfolgreich war oder nach einer bestimmten Anzahl von Anfragen nicht erfolgreich war. Der
-Code und die Kommentare lauten wie folgt: (Das Backend wird mit thinkPHP implementiert, daher enthält der js-Code einige thinkPHP-Syntaxregeln)
<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>
Ich glaube Ihnen Ich werde den Fall in diesem Artikel lesen. Sie beherrschen die Methode. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Ajax+mysq realisiert eine dreistufige Verknüpfungsliste von Provinzen und Gemeinden
Ajax überträgt Json und XML-Daten Detaillierte Erklärung der Schritte (mit Code)
Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Ajax-Polling-Anforderungsstatus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!