亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jquery ajax 請(qǐng)求小技巧實(shí)例分析

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

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

jquery   是一個(gè)非常好用的js框架,它為我們提供了很多工具。啟動(dòng)異步請(qǐng)求就是很好用的一個(gè)工具

官方推薦的ajax 請(qǐng)求格式

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

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

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

如果我們想用戶在某一個(gè)時(shí)刻只進(jìn)行一個(gè)請(qǐng)求,而不會(huì)產(chǎn)生多余的請(qǐng)求怎么辦呢?

在ajax 前面添加一個(gè)判定。

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

然后 我們?cè)?span style="color: #0000ff">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);

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

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

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

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

相關(guān)文章

最新評(píng)論