首頁  >  文章  >  web前端  >  ajax具體怎麼使用? ajax使用的具體操作介紹

ajax具體怎麼使用? ajax使用的具體操作介紹

寻∝梦
寻∝梦原創
2018-09-10 11:34:591169瀏覽

本篇文章主要的向大家講述了關於ajax的具體使用詳情,還有實例為大家詳細解釋。現在就讓我們一起來看這篇文章吧

Java軟體開發中,後台中我們可以透過各種框架,像SSH等進行對程式碼的封裝,方便我們對Java程式碼的編寫,例如,Struts,SpringMVC對從前台到action的流程進行封裝控制,使我們只需要進行一些簡單配置就可以實現;而Spring進行了對各種對象的管理進行封裝,提供了AOP編程的方式,大大方便了我們;而Hibernate和IBatis則是對JDBC程式碼進行封裝,不需要我們每次都寫那些重複而繁雜的JDBC程式碼。

         前台呢,對於頁面一些效果,驗證等,我們都是透過JavaScript語言進行完成的,但是它也就像我們的Java程式碼一樣,是最前台語言最基礎的,而JQuery則是對js程式碼進行封裝方便我們前台程式碼的編寫,而且它還有一個非常大的優勢就是解決了瀏覽器的兼容問題,這也是我們使用它非常重要的原因之一。

         而現在為了滿足使用者的需求,Ajax(Asynchronous Javascript XML#)異步刷新起到了無可比擬的作用,以前寫Ajax操作,總是需要我們想JDBC程式碼一樣進行幾個必備的步驟:

AJAX——核心XMLHttpRequest物件,而JQuery也對Ajax異步操作進行了封裝,這裡看一下幾種常用的方式。 $.ajax,$.post, $.get, $.getJSON。

         一, $.ajax,這個是JQuery對ajax封裝的最基礎步,透過使用此函數可以完成非同步通訊的所有功能。也就是說什麼情況下我們都可以透過此方法進行非同步刷新的操作。但是它的參數較多,有的時候可能會很麻煩。來看看常用的參數:      

# var configObj = {

       method   //資料的提交方式:getget和post

       url   //數據的提交路勁

       async   //是否支持異步刷新,默認是true

       data    //需要提交的數據

       dataType   //服務器返回數據的類型,例如xml,String,Json等

success    //請求成功後的回呼函數

       error   //請求失敗後的回呼函數

   ##$.ajax(configObj);//透過$.ajax函數呼叫。

           好,看一個實際的例子吧,看一個進行非同步刪除的例子:

#
<span style="font-size:18px;">          // 删除  
                $.ajax({  
                    type : "POST",  //提交方式  
                    url : "${pageContext.request.contextPath}/org/doDelete.action",//路径  
                    data : {  
                        "org.id" : "${org.id}"  
                    },//数据,这里使用的是Json格式进行传输  
                    success : function(result) {//返回数据根据结果进行相应的处理  
                        if ( result.success ) {  
                            $("#tipMsg").text("删除数据成功");  
                            tree.deleteItem("${org.id}", true);  
                        } else {  
                            $("#tipMsg").text("删除数据失败");  
                        }  
                    }  
                });  
</span>

           二,$.post,這個函數其實就是對$.ajax進行了更進一步的封裝,減少了參數,簡化了操作,但是運用的範圍更小了。 $.post簡化了資料提交方式,只能以POST方式提交。只能是異步訪問伺服器,不能同步訪問,不能進行錯誤處理。在滿足這些情況下,我們可以使用這個函數來方便我們的編程,它的主要幾個參數,像method,async等進行了默認設置,我們不可以改變的。例子不再介紹。 url:發送請求位址。

data:待傳送 Key/value 參數。

callback:發送成功時回呼函數。

type:傳回內容格式,xml, html, script, json, text,_default。

        三,$.get,和$.post一樣,這個函數是對get方法的提交資料進行封裝,只能使用在get提交資料解決非同步刷新的方式上,使用方式和上邊的也差不多。這裡不再示範。

######        四, $.getJSON,這是進一步的封裝,也就是對回傳資料型別為Json操作。裡邊有三個參數,需要我們設置,非常簡單:url,[data],[callback]。 ######(想看更多就到PHP中文網###AJAX開發手冊###欄位學習)############        其實會了$.ajax方法,其它的就都會使用了,都是一樣的,其實非常簡單。 ############        但是這裡還有一個問題,比較麻煩,就是如果頁面資料量比較大,該怎麼辦呢?在常規表單的處理中,我們使用框架Struts2可以透過網域驅動模式進行自動取得封裝,那麼透過ajax,如何進行封裝呢?這裡JQuery有一個插件,Jquery Form,透過引入此js文件,我們可以模仿表單Form來支援Struts2的網域驅動模式,進行自動資料的封裝。用法和$.ajax類似,看一下實際的例子,這裡寫一個保存使用者的前台程式碼:############################ ########
<span style="font-size:18px;">  $(function(){  
        var options = {  
            beforeSubmit : function() {//处理以前需要做的功能  
                $("tipMsg").text("数据正在保存,请稍候...");  
                $("#insertBtn").attr("disabled", true);  
            },  
            success : function(result) {//返回成功以后需要的回调函数  
                if ( result.success ) {  
                    $("#tipMsg").text("机构保存成功");  
                                       //这里是对应的一棵树,后边会介绍到,  
                    // 控制树形组件,增加新的节点  
                    var tree = window.parent.treeFrame.tree;  
                    tree.insertNewChild("${org.id}", result.id, result.name);  
                } else {  
                    $("#tipMsg").text("机构保存失败");  
                }  
                // 启用保存按钮  
                $("#insertBtn").attr("disabled", false);  
            },  
            clearForm : true  
    };  
  
     $(&#39;#orgForm&#39;).ajaxForm(options); //通过Jquery.Form中的ajaxForm方法进行提交  
   });  
</span>

     这样我们就不用再进行数据data的封装处理,大大简化了我们ajax的操作这样异步刷新的操作。综上为JQuery中ajax的操作,感觉使用多了,和form表单的处理还是非常相似的,只不过实现的功能不一样罢了。学习编程,其实就是学习对数据的流转处理,如何从前台获取,传输到服务器进行相应的处理,然后返回,进行相关的显示,把这个流程通过一些技术实现,就完成了软件的开发,感觉还是非常有意思的。

本篇文章到这就结束了(想看更多就到PHP中文网AJAX使用手册栏目中学习),有问题的可以在下方留言提问。

以上是ajax具體怎麼使用? ajax使用的具體操作介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn