最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JQuery中Ajax的操作完整例子

 更新時間:2017年03月07日 09:34:34   作者:劉佳翰  
這篇文章主要介紹了JQuery中Ajax的操作完整例子,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下

 Java軟件開發(fā)中,后臺中我們可以通過各種框架,像SSH等進(jìn)行對代碼的封裝,方便我們對Java代碼的編寫,例如,Struts,SpringMVC對從前臺到action的流程進(jìn)行封裝控制,使我們只需要進(jìn)行一些簡單配置就可以實(shí)現(xiàn);而spring進(jìn)行了對各種對象的管理進(jìn)行封裝,提供了AOP編程的方式,大大方便了我們;而hibernate和IBatis則是對JDBC代碼進(jìn)行封裝,不需要我們每次都寫那些重復(fù)而繁雜的JDBC代碼。 

         前臺呢,對于頁面一些效果,驗(yàn)證等,我們都是通過JavaScript語言進(jìn)行完成的,但是它也就像我們的Java代碼一樣,是最前臺語言最基礎(chǔ)的,而jQuery則是對js代碼進(jìn)行封裝方便我們前臺代碼的編寫,而且它還有一個非常大的優(yōu)勢就是解決了瀏覽器的兼容問題,這也是我們使用它非常重要的原因之一。 

         而現(xiàn)在為了滿足用戶的需求,Ajax(Asynchronous Javascript + XML)異步刷新起到了無可比擬的作用,以前寫Ajax操作,總是需要我們想JDBC代碼一樣進(jìn)行幾個必備的步驟:

AJAX——核心XMLHttpRequest對象,而JQuery也對Ajax異步操作進(jìn)行了封裝,這里看一下幾種常用的方式。 $.ajax,$.post, $.get, $.getJSON。 

         一, $.ajax,這個是JQuery對ajax封裝的最基礎(chǔ)步,通過使用這個函數(shù)可以完成異步通訊的所有功能。也就是說什么情況下我們都可以通過此方法進(jìn)行異步刷新的操作。但是它的參數(shù)較多,有的時候可能會麻煩一些??匆幌鲁S玫膮?shù):       

var configObj = {
  method //數(shù)據(jù)的提交方式:get和post
  url //數(shù)據(jù)的提交路勁
  async //是否支持異步刷新,默認(rèn)是true
  data //需要提交的數(shù)據(jù)
  dataType //服務(wù)器返回?cái)?shù)據(jù)的類型,例如xml,String,Json等
  success //請求成功后的回調(diào)函數(shù)
  error //請求失敗后的回調(diào)函數(shù)
 } 

$.ajax(configObj);//通過$.ajax函數(shù)進(jìn)行調(diào)用。 

           好,看一個實(shí)際的例子吧,看一個進(jìn)行異步刪除的例子:

<span style="font-size:18px;">   // 刪除 
    $.ajax({ 
     type : "POST", //提交方式 
     url : "${pageContext.request.contextPath}/org/doDelete.action",//路徑 
     data : { 
      "org.id" : "${org.id}" 
     },//數(shù)據(jù),這里使用的是Json格式進(jìn)行傳輸 
     success : function(result) {//返回?cái)?shù)據(jù)根據(jù)結(jié)果進(jìn)行相應(yīng)的處理 
      if ( result.success ) { 
       $("#tipMsg").text("刪除數(shù)據(jù)成功"); 
       tree.deleteItem("${org.id}", true); 
      } else { 
       $("#tipMsg").text("刪除數(shù)據(jù)失敗"); 
      } 
     } 
    }); 
</span> 

           二,$.post,這個函數(shù)其實(shí)就是對$.ajax進(jìn)行了更進(jìn)一步的封裝,減少了參數(shù),簡化了操作,但是運(yùn)用的范圍更小了。$.post簡化了數(shù)據(jù)提交方式,只能采用POST方式提交。只能是異步訪問服務(wù)器,不能同步訪問,不能進(jìn)行錯誤處理。在滿足這些情況下,我們可以使用這個函數(shù)來方便我們的編程,它的主要幾個參數(shù),像method,async等進(jìn)行了默認(rèn)設(shè)置,我們不可以改變的。例子不再介紹。

url:發(fā)送請求地址。

data:待發(fā)送 Key/value 參數(shù)。

callback:發(fā)送成功時回調(diào)函數(shù)。

type:返回內(nèi)容格式,xml, html, script, json, text,_default。 

        三,$.get,和$.post一樣,這個函數(shù)是對get方法的提交數(shù)據(jù)進(jìn)行封裝,只能使用在get提交數(shù)據(jù)解決異步刷新的方式上,使用方式和上邊的也差不多。這里不再演示。 

        四, $.getJSON,這個是進(jìn)一步的封裝,也就是對返回?cái)?shù)據(jù)類型為Json進(jìn)行操作。里邊就三個參數(shù),需要我們設(shè)置,非常簡單:url,[data],[callback]。 

        其實(shí)會了$.ajax方法,其它的就都會使用了,都是一樣的,其實(shí)非常簡單。 

        但是這里還有一個問題,比較麻煩,就是如果頁面數(shù)據(jù)量比較大,該怎么辦呢?在常規(guī)表單的處理中,我們使用框架Struts2可以通過域驅(qū)動模式進(jìn)行自動獲取封裝,那么通過ajax,如何進(jìn)行封裝呢?這里JQuery有一個插件,Jquery Form,通過引入此js文件,我們可以模仿表單Form來支持Struts2的域驅(qū)動模式,進(jìn)行自動數(shù)據(jù)的封裝。用法和$.ajax類似,看一下實(shí)際的例子,這里寫一個保存用戶的前臺代碼: 

<span style="font-size:18px;"> $(function(){ 
  var options = { 
   beforeSubmit : function() {//處理以前需要做的功能 
    $("tipMsg").text("數(shù)據(jù)正在保存,請稍候..."); 
    $("#insertBtn").attr("disabled", true); 
   }, 
   success : function(result) {//返回成功以后需要的回調(diào)函數(shù) 
    if ( result.success ) { 
     $("#tipMsg").text("機(jī)構(gòu)保存成功"); 
          //這里是對應(yīng)的一棵樹,后邊會介紹到, 
     // 控制樹形組件,增加新的節(jié)點(diǎn) 
     var tree = window.parent.treeFrame.tree; 
     tree.insertNewChild("${org.id}", result.id, result.name); 
    } else { 
     $("#tipMsg").text("機(jī)構(gòu)保存失敗"); 
    } 
    // 啟用保存按鈕 
    $("#insertBtn").attr("disabled", false); 
   }, 
   clearForm : true 
  }; 
  $('#orgForm').ajaxForm(options); //通過Jquery.Form中的ajaxForm方法進(jìn)行提交 
 }); 
</span> 

       這樣我們就不用再進(jìn)行數(shù)據(jù)data的封裝處理,大大簡化了我們ajax的操作這樣異步刷新的操作。綜上為JQuery中ajax的操作,感覺使用多了,和form表單的處理還是非常相似的,只不過實(shí)現(xiàn)的功能不一樣罷了。學(xué)習(xí)編程,其實(shí)就是學(xué)習(xí)對數(shù)據(jù)的流轉(zhuǎn)處理,如何從前臺獲取,傳輸?shù)椒?wù)器進(jìn)行相應(yīng)的處理,然后返回,進(jìn)行相關(guān)的顯示,把這個流程通過一些技術(shù)實(shí)現(xiàn),就完成了軟件的開發(fā),感覺還是非常有意思的。 

     更多JQuery的學(xué)習(xí),還需要我們通過查詢api文檔進(jìn)行完成:http://hemin.cn/jq/

以上所述是小編給大家介紹的JQuery中Ajax的操作完整例子,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

会东县| 西乌| 临泽县| 镇沅| 曲麻莱县| 汽车| 玛多县| 长沙县| 南和县| 惠水县| 抚州市| 白沙| 乐业县| 米泉市| 平乐县| 镇安县| 宣城市| 阿图什市| 台前县| 拜泉县| 汉源县| 富平县| 吴江市| 安阳县| 龙陵县| 河源市| 卓尼县| 柳河县| 增城市| 江油市| 云浮市| 确山县| 宜城市| 新安县| 广西| 广德县| 宿松县| 菏泽市| 山东省| 石台县| 三江|