jQuery.ajax(url,[settings])
概述
通過 HTTP 請求加載遠程數據。
jQuery 底層 AJAX 實現。簡單易用的高層實現見 $.get, $.post 等。$.ajax() 返回其創建的 XMLHttpRequest 對象。大多數情況下你無需直接操作該函數,除非你需要操作不常用的選項,以獲得更多的靈活性。
最簡單的情況下,$.ajax()可以不帶任何參數直接使用。
注意,所有的選項都可以通過$.ajaxSetup()函數來全局設置。
回調函數
如果要處理$.ajax()得到的數據,則需要使用回調函數。beforeSend、error、dataFilter、success、complete。beforeSend 在發送請求之前調用,并且傳入一個XMLHttpRequest作為參數。
error 在請求出錯時調用。傳入XMLHttpRequest對象,描述錯誤類型的字符串以及一個異常對象(如果有的話)
dataFilter 在請求成功之后調用。傳入返回的數據以及"dataType"參數的值。并且必須返回新的數據(可能是處理過的)傳遞給success回調函數。
success 當請求之后調用。傳入返回后的數據,以及包含成功代碼的字符串。
complete 當請求完成之后調用這個函數,無論成功或失敗。傳入XMLHttpRequest對象,以及一個包含成功或錯誤代碼的字符串。
demo如下:
前臺js代碼:代碼如下
varurl = "/test/check"; ? ? $.ajax({ ? ? ? ? type:"post", ? ? ? ? url: url,//data: "para="+para, ?此處data可以為 a=1&b=2類型的字符串 或 json數據。data: {"para":1}, ? ? ? ? cache:false, ? ? ? ? async :false, ? ? ? ? dataType:"json", ? ? ? ? success:function(data ,textStatus, jqXHR) ? ? ? ? {if("true"==data.flag){ ? ? ? ? ? ? ? ?alert("合法!");returntrue; ? ? ? ? ? ? }else{ ? ? ? ? ? ? ? ? alert("不合法!錯誤信息如下:"+data.errorMsg);returnfalse; ? ? ? ? ? ? } ? ? ? ? }, ? ? ? ? error:function(XMLHttpRequest, textStatus, errorThrown) {alert("請求失敗!"); ? ? ? ? } ? ? ?});
后臺java代碼:代碼如下
/*** 校驗 ? ? ?* ? ? ?*@returnvoid*/publicvoidcheck(){ ? ? ? ? Mapresult =newHashMap();booleanflag =false;try{ ? ? ? ? ? ? String para= getPara("para");//校驗 代碼...result.put("flag", "true"); ? ? ? ? ? ? renderJson(result);//返回json數據}catch(Exception e){ ? ? ? ? ? ? result.put("flag", flag+""); ? ? ? ? ? ? result.put("errorMsg", e.getMessage()); ? ? ? ? ? ? renderJson(result);//返回json數據e.printStackTrace(); ? ? ? ? } ? ? }