一:
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后台代码:
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;
});
});
Atas ialah kandungan terperinci ajax常用的函数. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!