首頁  >  文章  >  web前端  >  ajax常用的函數

ajax常用的函數

巴扎黑
巴扎黑原創
2017-07-18 16:37:371581瀏覽

一:

AJAX 是一種在無需重新載入整個網頁的情況下,能夠更新部分網頁的技術。

什麼是 AJAX ?

AJAX = 非同步 JavaScript 和 XML。

AJAX 是一種用於建立快速動態網頁的技術。

透過在後台與伺服器進行少量資料交換,AJAX 可以使網頁實現非同步更新。這意味著可以在不重新載入整個網頁的情況下,對網頁的某個部分進行更新。

傳統的網頁(不使用 AJAX)如果需要更新內容,則必須重載整個網站頁面。

有許多使用 AJAX 的應用程式案例:新浪微博、Google 地圖、開心網等等。

二:傳統的Ajax過於繁瑣,jquer封裝了一些ajax常用的簡單函數。

   a:  $.ajax()方法:

   jsp頁碼:

<head><title>Ajax验证</title><script type="text/javascript" src="js/jquery-1.8.3.min.js?1.1.11"></script><script type="text/javascript">$(function () {
            $("[name='userName']").blur(function () {         
                $.ajax({
                    type: "post",
                    url: "/TestServlet",
                    data:{action:"login"},         //data 传递的参数一般都是key:“ value” 类型的  value一定要加引号  我亲身体验  那种找不到错的感觉// dataType:'Text',            //servers 返回的格式  也可以是gjon                    success: function (data) {if (data == "success") {
                            alert(data);
                            $("#myspan").html(data);
                        }
                    },
                    error: function () {           //这个用的比较少                    }
                })
            })
        })</script></head><body> 姓名: <input  name="userName" type="text"><span id="myspan"></span> 密码: <input name="password" type="text"></body>
## 

     servlet後台程式碼:

     servlet後台程式碼:

public class TestServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String name = request.getParameter("action");
        System.out.println(name);if(name.equals("login")){
            response.getWriter().write("success");   //返回回掉函数的参数
        }else{
            response.getWriter().write("file");
        }
    }

 

   b:$.get() , $.post()和$.getJson方法都是$.ajax()方法的精簡版,用法大致一致,少了一個type

       

$.post("/TestServlet",
                  {"uname":$('[name=uname]').val()},
                  function (data) {
                      alert(data);
                  });

 

   c: $.load()

##     
 $("#msg").load(           "/TestServlet","action="+$('[name="userName"]'

 

   d:$(selector).serializeArray() 和$(selector

).serialize()

        / /此方法可以直接取得form表單的name屬性值,作為data的傳參
 var data1 = $("#form1").serializeArray(); //自动将form表单封装成json                     $.each(data1,function (i,dom) {
                         alert(dom.name+"\r\n"+dom.value);
                     });

                     var data2=$("#form1").serialize();
                     alert(data2);

 

   e:作為data參數
#
 var data2=$("#form1").serialize();
                     $.getJSON("/TestServlet",data2, function (data) {
                            alert(data);
                     });


 jQuery中ajax的4種常用請求方式:
1.$.ajax()傳回其建立的XMLHttpRequest 物件。
$.ajax() 只有一個參數:參數 key/value 對象,包含各組態及回呼函數資訊。如果指定了 dataType 選項,請確保伺服器傳回正確的 MIME 訊息,(如 xml 傳回 "text/xml")。
實例:
儲存資料到伺服器,成功時顯示資訊。
$.ajax({ type: "post", dataType: "html", url: '/Resources/GetList.ashx', data: dataurl, success: function (data)   {
if (data != "") {
$("#pager").pager({
pagenumber: pagenumber, pagecount: data.split("$$")[1],
buttonClickCallback: PageClick });
$("#anhtml").html(data.split("$$")[0]);
}
}
});
2.透過遠端HTTP GET 請求載入資訊。
這是一個簡單的 GET 請求功能以取代複雜 $.ajax 。請求成功時可呼叫回呼函數
。如果需要在出錯時執行函數,請使用 $.ajax。 實例:
$.get("test.cgi", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data) ;
});
3. 透過遠端HTTP POST 請求載入資訊。 這是一個簡單的 POST 請求功能以取代複雜 $.ajax 。
請求成功時可呼叫回呼函數。如果需要在出錯時執行函數,請使用 $.ajax。
實例:
$.post("/Resources/addfriend.ashx", { "fid": fids, "fname": fnames, "tuid": tuids, "tuname": tunames },
function (data) {
if (data == "ok") {
alert("加入成功!");
}
}
)
4.透過HTTP GET請求載入JSON 資料。
實例:
$.getJSON("api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&
jsoncallback=?,前面加上http://", function(data){
$.each(data.items, function(i,item){
$("").attr("src", item.media.m) .appendTo("#images");
if ( i == 3 ) return false;
});

});

  

# ####

以上是ajax常用的函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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