欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jquery ajax 請求小技巧實例分析

 更新時間:2019年11月11日 09:41:45   作者:傾聽歲月  
這篇文章主要介紹了jquery ajax 請求小技巧,結(jié)合實例形式分析了jquery ajax請求操作相關(guān)配置與使用技巧,需要的朋友可以參考下

本文實例講述了jquery ajax 請求小技巧。分享給大家供大家參考,具體如下:

jquery   是一個非常好用的js框架,它為我們提供了很多工具。啟動異步請求就是很好用的一個工具

官方推薦的ajax 請求格式

$.ajax({
   url:"http://xxxxxxxxxxxxxxxxx/",//你的域名
   dataType:"json",        //對服務(wù)器返回的結(jié)果進行該數(shù)據(jù)格式處理 我這里寫了json 也可以紅xml、text、html 等格式
   type:"get',           //請求到服務(wù)器的方式 我這里是get 也可以用其它形式 如post
   beforeSend:function(res){},   //在請求之前會調(diào)用這個方法  其中的res 就是XMLHttpRequest 對象
   success:function(result){}   //服務(wù)器返回的數(shù)據(jù)進行dataTyoe 設(shè)置的格式 處理后返回的結(jié)果
})

在這其中,$.ajax()  方法中傳入的數(shù)據(jù)是一個json   這不難發(fā)現(xiàn)吧。  那我們完全可以這樣去調(diào)用

var ajaxJson = {
   url:"http://xxxxxxxxxxxxxxxxx/",
  dataType:"json",
   type:"get',
   beforeSend:function(res){},  //在請求之前會調(diào)用這個方法  其中的res 就是XMLHttpRequest 對象
   success:function(result){}
}
$.ajax(ajaxJson);      //這樣去使用。

如果我們想用戶在某一個時刻只進行一個請求,而不會產(chǎn)生多余的請求怎么辦呢?

在ajax 前面添加一個判定。

var ajax_oper = {
   ajax_status : true,             //當前ajax執(zhí)行狀態(tài)
   ajax_json : function(ajaxJson){
       if(!this.ajax_status) return false; // 當這個條件成立的時候,就認為當前有一個正在執(zhí)行的ajax操作
       $.ajax(ajaxJson);
    }
}

然后 我們在ajaxJson變量中添加如下配置

var ajaxJson={
   url:"http://xxxxxxxxxxxxxxxxx/",
   dataType:"json",
   type:"get',
   beforeSend:function(res){
       ajax_oper.ajax_status = false;
   },
   success:function(result){
        ajax_oper.ajax_status = true;
   }
}
$.ajax(ajaxJson);

這樣就可以在每次請求的時候判定一下 當前是否有正在執(zhí)行的ajax請求 如果有就返回,不去執(zhí)行。如果沒有就執(zhí)行。當一個ajax執(zhí)行完畢后我們將ajax_oper的狀態(tài)調(diào)整回來等待下一次請求的進行更改。

當然在移動web開發(fā)當中touch事件 有點違背原理,我們在測試的時候發(fā)現(xiàn),在同一時間。touch事件被觸發(fā)了多次,并且產(chǎn)生了多個ajax請求。更改ajax_status并沒有起到作用,分析的方案是 touch事件靈敏到了,連ajax_oper的狀態(tài)還沒更改就已經(jīng)被觸發(fā)了多次,也就是在統(tǒng)一時間多個ajax請求都在執(zhí)行$.ajax方法。這種解決方案,第一就是更改touch事件為click事件,第二就是添加多個ajax_oper 狀態(tài),層層判定(也有點不保險哈),第三就是更改后臺邏輯處理,如在數(shù)據(jù)庫處理的時候添加觸發(fā)器,每次在更改的時候觸發(fā)器會先處理一次,然后根據(jù)觸發(fā)器的處理執(zhí)行相應(yīng)的處理。  對了,提示一下,在mysql innodb 表 事務(wù)處理過程中    也是會觸發(fā)觸發(fā)器的。根據(jù)結(jié)果進行commit 和 rollback。

更多關(guān)于jQuery相關(guān)內(nèi)容可查看本站專題:《jquery中Ajax用法總結(jié)》、《jQuery擴展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)

希望本文所述對大家jQuery程序設(shè)計有所幫助。

相關(guān)文章

最新評論