壹:
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);
});