日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

ajax 一次請求

系統 2088 0
在網站開發中經常會用到ajax,從執行效率上應該注意一些問題。例如:

?

ajax 一次請求

?

ajax 一次請求

?

?

原始是每次切換一次選項都會發起請求,這樣會降低效率,我們可以將請求后的數據保存下來,然后下次根據請求地址直接獲得請求內容,這樣同url每次只需請求一次。

?

為此專門寫一個JQ插件來做這件事就很有必要。插件具體內容:

?

?

  1. (function($){??
  2. ????//存放請求過的地址??
  3. ????var? _request_list ?=? Array ();??
  4. ???? jQuery.ajaxOnce ?=? function (options){??
  5. ????????//與jquery?ajax參數保持一致??
  6. ????????var? settings ?=?{??
  7. ????????????type:?"POST",??
  8. ????????????url:?"",??
  9. ????????????data:?"",??
  10. ????????????cache:?true,??
  11. ????????????async:?true,??
  12. ????????????success:?""??
  13. ????????}??
  14. ????????if(options){??
  15. ????????????jQuery.extend(settings,options);??
  16. ????????}??
  17. ????????//回調??
  18. ????????var? _successfun ?=? settings .success;??
  19. ????????//驗證是否已請求??
  20. ????????var? _msg ?=? validReq (settings.url);??
  21. ????????if(_msg){??
  22. ????????????if(typeof? _successfun ?==?"function"){??
  23. ????????????????_successfun(_msg);??
  24. ????????????}??
  25. ????????}else{??
  26. ????????????//執行ajax請求??
  27. ????????????jQuery.ajax({??
  28. ????????????????type:?settings.type,??
  29. ????????????????url:?settings.url,??
  30. ????????????????data:?settings.data,??
  31. ????????????????cache:?settings.cache,??
  32. ????????????????async:?settings.async,??
  33. ????????????????success:?function(msg){??
  34. ????????????????????addContent(settings.url,msg);??
  35. ????????????????????if(typeof? _successfun ?==?"function"){??
  36. ????????????????????????_successfun(msg);??
  37. ????????????????????}??
  38. ????????????????}??
  39. ????????????})??
  40. ????????}??
  41. ??????????
  42. ????????//檢查請求是否存在??
  43. ????????function?validReq($parm_url){??
  44. ????????????for($ _i ?=? 0 ;$_i? < ? _request_list.length ;?$_i++){??
  45. ????????????????if(_request_list[$_i]['url']?==?$parm_url){??
  46. ????????????????????return?_request_list[$_i]['content'];??
  47. ????????????????}??
  48. ????????????}??
  49. ????????????return?false;??
  50. ????????}??
  51. ??????????
  52. ????????//添加指定url內容??
  53. ????????function?addContent($parm_url,$param_content){??
  54. ???????????? _combin ?=? Array ();??
  55. ????????????_combin['url']?=?$parm_url;??
  56. ????????????_combin['content']?=?$param_content;??
  57. ????????????_request_list.push(_combin);??
  58. ????????}??
  59. ????}??
  60. })(jQuery)??

?

?

?

我只是將JQ自帶的AJAX函數封裝了下,具體調用和原來調用AJAX是一樣的,只不過調用方式由jQuery.ajax換成了jQuery.ajaxOnce。

?

后續:

如果需要將數據長時間保存,可以利用本地存儲將數據保存至本地,網上開源程序APC.js專門用來處理這種需求,并合理地利用不同瀏覽器的特性,詳細內容: http://vquickphp.com/?a=blogview&id=33

?

ajax 一次請求


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 洞头县| 额济纳旗| 大同县| 深泽县| 马鞍山市| 太谷县| 正镶白旗| 东乡县| 云南省| 木兰县| 游戏| 兰西县| 福贡县| 邢台市| 宜君县| 新沂市| 南平市| 长岛县| 林芝县| 含山县| 古田县| 红安县| 土默特左旗| 开江县| 乌苏市| 富川| 凯里市| 年辖:市辖区| 阿坝县| 唐山市| 富蕴县| 忻城县| 垫江县| 南岸区| 许昌市| 定襄县| 繁峙县| 铜陵市| 桃园市| 清河县| 泸溪县|