一:
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"></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後台代碼:
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"]').val() ); //後台可以直接 根據request.getParameter()拿到參數的值
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的幾個常用的函數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!