您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“jquery中ajax請求小技巧有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“jquery中ajax請求小技巧有哪些”這篇文章吧。
具體如下:
jquery 是一個非常好用的js框架,它為我們提供了很多工具。啟動異步請求就是很好用的一個工具
官方推薦的ajax 請求格式
$.ajax({ url:"http://xxxxxxxxxxxxxxxxx/",//你的域名 dataType:"json", //對服務器返回的結果進行該數據格式處理 我這里寫了json 也可以紅xml、text、html 等格式 type:"get', //請求到服務器的方式 我這里是get 也可以用其它形式 如post beforeSend:function(res){}, //在請求之前會調用這個方法 其中的res 就是XMLHttpRequest 對象 success:function(result){} //服務器返回的數據進行dataTyoe 設置的格式 處理后返回的結果 })
在這其中,$.ajax()
方法中傳入的數據是一個json 這不難發現吧。 那我們完全可以這樣去調用
var ajaxJson = { url:"http://xxxxxxxxxxxxxxxxx/", dataType:"json", type:"get', beforeSend:function(res){}, //在請求之前會調用這個方法 其中的res 就是XMLHttpRequest 對象 success:function(result){} } $.ajax(ajaxJson); //這樣去使用。
如果我們想用戶在某一個時刻只進行一個請求,而不會產生多余的請求怎么辦呢?
在ajax 前面添加一個判定。
var ajax_oper = { ajax_status : true, //當前ajax執行狀態 ajax_json : function(ajaxJson){ if(!this.ajax_status) return false; // 當這個條件成立的時候,就認為當前有一個正在執行的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);
這樣就可以在每次請求的時候判定一下 當前是否有正在執行的ajax請求 如果有就返回,不去執行。如果沒有就執行。當一個ajax執行完畢后我們將ajax_oper的狀態調整回來等待下一次請求的進行更改。
當然在移動web開發當中touch
事件 有點違背原理,我們在測試的時候發現,在同一時間。touch
事件被觸發了多次,并且產生了多個ajax請求。更改ajax_status并沒有起到作用,分析的方案是 touch事件靈敏到了,連ajax_oper的狀態還沒更改就已經被觸發了多次,也就是在統一時間多個ajax請求都在執行$.ajax
方法。這種解決方案,第一就是更改touch
事件為click事件,第二就是添加多個ajax_oper 狀態,層層判定(也有點不保險哈),第三就是更改后臺邏輯處理,如在數據庫處理的時候添加觸發器,每次在更改的時候觸發器會先處理一次,然后根據觸發器的處理執行相應的處理。 對了,提示一下,在mysql innodb 表 事務處理過程中 也是會觸發觸發器的。根據結果進行commit 和 rollback。
以上是“jquery中ajax請求小技巧有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。