1、首先導入jquery的js文件
2、在腳本function中添加以下代碼:
$.ajax( {
cache : false, // (默認: true) jQuery 1.2 新功能,設置爲 false 將不會從瀏覽器緩存中加載請求信息
ifModified : true, //(默認: false) 僅在服務器數據改變時獲取新數據。使用 HTTP 包 Last-Modified 頭信息判斷。
type : 'POST', //(默認: "GET") 設置請求方式 ("POST" 或 "GET"), 默認爲 "GET"。注意:其它 HTTP 請求方法,如 PUT 和 DELETE 也可以使用,但僅部分瀏覽器支持。
timeout : 5000, //設置請求超時時間(毫秒)。此設置將覆蓋全局設置。
url : 'contractAdmin', //設置請求路徑
data : { //設置發送請求時傳遞的參數,前面是key,後面是value,中間用冒號隔開,各參數之間用逗號隔開,最後一個參數後沒有逗號或其它任何符號。
'operation' : '7',
'contractChipId' : param
},
//或者直接序列化一個form表單
data : $("#form2").serialize(),
success : function(data) {
//ajax請求發送成功進入該方法,data是異步返回的數據,在此進行處理。
//當dataType爲‘html’的時候,data就是返回的html值,
//當dataType爲‘json’的時候,可以通過$.each(data,function(x,args){})遍歷返回值,data是返回的json格式的list內容,
// x 是遍歷的次數,從 0 開始,args是集合中的單個對象,可以通過json中的key獲取到對應的value :args.name
},
error : function(data) {
//(默認: 自動判斷 (xml 或 html)) 請求失敗時調用。參數:XMLHttpRequest 對象,錯誤信息,(可能)捕獲的錯誤對象。
},
complete: function(data) {
//請求完成後回調函數 (請求成功或失敗時均調用)。參數:XMLHttpRequest 對象,成功信息字符串。
},
beforeSend : function(data){
// 發送請求前可修改 XMLHttpRequest 對象的函數,如添加自定義 HTTP 頭。XMLHttpRequest 對象是唯一的參數。譬如加載等待圖片等。
},
dataType : 'text' //預期服務器返回的數據類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 信息返回 responseXML 或 responseText,
並作爲回調函數參數傳遞,可用值:
"xml": 返回 XML 文檔,可用 jQuery 處理。
"html": 返回純文本 HTML 信息;包含 script 元素。
"script": 返回純文本 JavaScript 代碼。不會自動緩存結果。
"json": 返回 JSON 數據 。
"jsonp": JSONP格式。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 將自動替換 ? 爲正確的函數名,以執行回調函數。
});
注:以上屬性可選擇性使用,詳見jquery API幫助文檔 AJAX部分
3、在響應請求的後臺中做如下響應:
response.setContentType("application/text;charset=UTF-8");
response.getWriter().write(status);
return;
或
response.setContentType("application/json;charset=UTF-8");
String json = "{\"leng\":\"0\"}";//或者從數據庫查詢相關信息賦給Bean對象,然後重寫Bean類的toString()方法爲json格式,將對象toString寫回。
response.getWriter().write(json);
return;
示例:
$.ajax( {//頁面
cache : false,
type : 'POST',
url : 'contractAdmin',
data : {
'operation' : '7',
'contractChipId' : param
},
success : function(data) {
if(data == 1){
$("#tr"+param).html("");//清除tr
$(window.parent.document).find("body").messagebox('恭喜,刪除成功', '', 1, 1000);
}
},
error : function() {
$(window.parent.document).find("body").messagebox('很遺憾,刪除失敗', '', 0, 1000);
},
dataType : 'text'
});
//響應請求端(後臺)
response.setContentType("application/text;charset=UTF-8");
response.getWriter().write(status);
return;
或者
$.ajax( {
cache : false,
type : 'POST',
url : $("#JSON").val(),
data : {
'JSONChildren' : $("#JSONChildren").val()
},
success : function(data) {
$("#JSONLast").html("<option value='0'>請選擇 </option>");
$.each(data, function(x, args)
{//遍歷返回值
$("#JSONLast").append(
"<option value='" + args.id + "'>" + args.name + "</option>");
});
},
error : function(x, y, z) {
alert(x + "|\n" + y + "|\n" + z);
},
dataType : 'json'
});
//後臺
List<Police> policeList = getLastPolice(strPoliceId);
if(policeList == null){
policeList = new ArrayList<Police>();
}
response.setContentType("application/json;charset=UTF-8");
response.getWriter().write(policeList.toString());
/**
* 爲使本類可以被JSON解析,覆寫toString方法
*/
@Override
public String toString() {
return "{\"id\":\"" + policeId + "\",\"name\":\"" + policeName + "\"}";
}