一:
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>
#
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);
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中文網其他相關文章!