http://code.jquery.com/jquery-1.7.1.min.js
案例:jQueryAjax load() 方法
load.html 源代碼 客戶端
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jQuery Ajax Demo</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script language="JavaScript" src="../js/jquery.js" />
</head>
<body>
<form action="" name="form" id="form">
<input type="text" name="username" id="username" value="zhang" />
<br>
<input type="text" name="psw" id="psw" value="999999" />
<br>
<input type="button" id="b1" value="登陸" />
</form>
<div id="one"></div>
<script language="JavaScript">
$().ready(function(){
$("b1").click(function(){
/*
load 方法的參數
第一個參數:請求的路徑
第二個參數:發送到服務器的數據 數據形式爲 key:value
多個數據表現形式 {key1:value1,key2:value2}
function(data,textStatus,xmlHttpRequest) 第三個參數:
代表請求返回內容的 data;
代表請求狀態的textStatus對象
success,error,notmodify,timeout
XMLHttpRequest對象
*/
$("#one").load("load.jsp",{"username":$("#username").val(),"psw":$("#psw").val()}
,function(data,textStatus,xmlHttpRequest){
// 打印返回的內容
alert(data);
alert(textStatus);
alert(xmlHttpRequest.readyState+" "+xmlHttpRequest.status);
});
});
});
</script>
</body>
</html>
load.jsp 源代碼
<%@ page language="java" pageEncoding="UTF-8"%>
<%
System.out.println(request.getMethod());
System.out.println(request.getParameter("username"));
System.out.println(request.getParameter("psw"));
out.println("你好登陸成功");
%>
jQuery Ajax 案例之 $.get() 方法
get.html 源代碼 客戶端
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jQuery Ajax Demo</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script language="JavaScript" src="../js/jquery.js" />
</head>
<body>
<form action="" name="form" id="form">
<input type="text" name="username" id="username" value="zhang" />
<br>
<input type="text" name="psw" id="psw" value="999999" />
<br>
<input type="button" id="b1" value="登陸" />
</form>
<div id="one"></div>
<script language="JavaScript">
$().ready(function(){
$("b1").click(function(){
/*
get方法的參數:通過遠程HTTP GET請求載入信息
* 第一個參數:請求的路徑
* 第二個參數:發送到服務器的數據key:value 多個參數{key1:value1,key2:value2}
* 第三個參數:function(data,textStatus)該函數有二個參數
* 第四個參數:方法返回值對象 XMLHttpRequest 對象
*/
$.get("get.jsp",{"username":$("#username").val(),"psw":$("#psw").val()},
function(data,textStatus){
alert(data+" "+textStatus);
$("#one").text(data);
}
);
// post與get方法是一樣的
});
});
</script>
</body>
</html>
get.jsp 源代碼 服務端
<%@ page language="java" pageEncoding="UTF-8"%>
<%
System.out.println(request.getMethod());
System.out.println(request.getParameter("username"));
System.out.println(request.getParameter("psw"));
out.println("你好登陸成功");
%>
jQuery Ajax Json 數據處理
json.html 源代碼 客戶端
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jQuery Ajax Demo</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script language="JavaScript" src="../js/jquery.js" />
</head>
<body>
<form action="" name="form" id="form">
<input type="text" name="username" id="username" value="zhang" />
<br>
<input type="text" name="psw" id="psw" value="999999" />
<br>
<input type="button" id="b1" value="登陸" />
</form>
<div id="one"></div>
<script language="JavaScript">
$().ready(function(){
$("b1").click(function(){
/*
getJSON方法的參數:通過遠程HTTP GET請求載入JSON數據
* 第一個參數:請求的路徑
* 第二個參數:發送到服務器的數據key:value 多個參數{key1:value1,key2:value2}
* 第三個參數:function(data,textStatus)該函數有二個參數
* 第四個參數:方法返回值對象 XMLHttpRequest 對象
* 使用getJSON此方法接收數據,不再對接收的數據進行處理
*/
$.getJSON("json.jsp",{"username":$("#username").val(),"psw":$("#psw").val()},
function(data,textStatus){
//alert(data);
for(var i=0;i<data.length;i++){
var pv = data[i];
alert(pv.id + " " + pv.name);
}
}
);
// post與get方法是一樣的
});
});
</script>
</body>
</html>
json.jsp 源代碼 服務端
<%@ page language="java" pageEncoding="UTF-8"%>
<%
System.out.println(request.getMethod());
System.out.println(request.getParameter("username"));
System.out.println(request.getParameter("psw"));
out.println("[{id:1,name:'山東省'},{id:2,name:'山西省'}]");
%>
jQuery Ajax 序列化元素 serialize() Demo
serialize.html 源代碼 客戶端
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>jQuery Ajax Demo</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script language="JavaScript" src="../js/jquery.js" />
</head>
<body>
<form action="" name="form" id="form">
<input type="text" name="username" id="username" value="zhang" />
<br>
<input type="text" name="psw" id="psw" value="999999" />
<br>
<input type="button" id="b1" value="登陸" />
</form>
<div id="one"></div>
<script language="JavaScript">
$().ready(function(){
$("b1").click(function(){
/*
get方法的參數:通過遠程HTTP GET請求載入JSON數據
* 第一個參數:請求的路徑
* 第二個參數:發送到服務器的數據key:value 多個參數{key1:value1,key2:value2}
* 第三個參數:function(data,textStatus)該函數有二個參數
* 第四個參數:方法返回值對象 XMLHttpRequest 對象
* $("#form1").serialize() 將表單元素數據封轉完畢
*/
$.get("serialize.jsp",$("#form1").serialize(),
function(data,textStatus){
//alert(data);
for(var i=0;i<data.length;i++){
var pv = data[i];
alert(pv.id + " " + pv.name);
}
}
);
// post與get方法是一樣的
});
});
</script>
</body>
</html>
serialize.jsp 源代碼 服務端
<%@ page language="java" pageEncoding="UTF-8"%>
<%
System.out.println(request.getMethod());
System.out.println(request.getParameter("username"));
System.out.println(request.getParameter("psw"));
out.println("你好登陸成功");
%>
Jquery 中的 Ajax
Jquery 對 Ajax 操作進行了封裝,在Jquery中最底層的方法時$.ajax(),第二層是load,$.get()和$.getJSON()
load()方法
load()方法時jQuery中最爲簡單和常用的Ajax方法,能載入遠程的HTML代碼並插入到DOM中。他的結構式:load(url[,data][,callback])
參數名稱 類型說明
url String請求HTML頁面的URL地址
data(可選)
Object 發送到服務器的key/value數據
callback(可選)
Function 請求完成時的回調函數,無論請求成功或失敗
程序員只需要使用jQuery選擇器爲HTML片段指定目標位置,然後將要加載的文件的url作爲參數傳遞給load()方法即可。
1.如果只需要加載目標HTML頁面內的某些元素,則可以通過load()方法的URL參數來達到目的,通過URL參數指定選擇符,就可以方便的從加載過來的HTML文檔中選出所
需要的內容。load()方法的URL參數的語法結構爲"url selector"(注意:url和選擇器之間有一個空格)
2.傳遞方式:load()方法的傳遞參數根據參數data來自動自定。如果沒有參數傳遞,採用GET方式傳遞,否則採用POST方式。
3.對於必須在加載完才能繼續的操作,load()方法提供了回調函數,該函數有三個參數:代表請求返回內容的data;代表請求狀態的 textStatus對象和XMLHttpRequest對象
4.方法的返回值是jQuery
$.get()或$.post()方法
$get()方法是用GET方式來進行異步請求,他的結構是:$get(url[,data][,callback][,type]);
參數名稱 類型說明
url String請求HTML頁面的URL
data(可選)
Object 發送到服務器的key/value數據回座位QueryString附加到請求URL中
callback(可選)
Function 載入成功時回調函數(只有當Response的返回狀態是 success 才調用該方法)自動將請求結果和狀態傳遞給該方法
type(可選)
String 服務器返回內容的格式,包括xml,html,script,jsin,text 和 _default
$get()方法的回調函數只有兩個參數:data代表返回的內容,可以是xml文檔,json文件,html片段等;textStatus代表請求狀態,其值可能爲:success,error,notmodify,timeout 4種.
方法的返回值:XMLHttpRequest對象
$.get()和$.post方法時jQuery中的全局函數,而find()等方法都是對jQuery對象進行操作的方法。
序列化元素
jQuery爲準備"發送到服務器的 key/value 數據"提供了一個簡化的方法:serialize().該方法作用於一個jQuery對象,能將DOM元素內容序列化爲字符串,用於Ajax請求。
var xmlHpptReq = $.get("base01.jsp",{username:"aa",psw:"8888"});
var xmlHpptReq = $.get("base01.jsp",$("#form1").serialize());
使用 serialize() 方法可以自動完成對參數的URL編碼
因爲該方法作用於jQuery對象,所以不光只要表單能夠使用,其他選擇器選取元素也能使用它。