javawe項目很多情況下需要通過$.post()進行前端和后端傳遞數據
格式是:
$.post(url,data,function(result,statue){
alert(result);
},"json");
$.post()這方法一共有四個參數。
參數 描述
URL 必需。規定將請求發送到哪個 URL。
data 可選。規定連同請求發送到服務器的數據。
function(data,status,xhr) 可選。規定當請求成功時運行的函數。
額外的參數:
data - 包含來自請求的結果數據
status - 包含請求的狀態(“success”、“notmodified”、“error”、“timeout”、“parsererror”)
xhr - 包含 XMLHttpRequest 對象
dataType 可選。規定預期的服務器響應的數據類型。
默認地,jQuery 會智能判斷。
可能的類型:
“xml” - 一個 XML 文檔
“html” - HTML 作為純文本
“text” - 純文本字符串
“script” - 以 JavaScript 運行響應,並以純文本返回
“json” - 以 JSON 運行響應,並以 JavaScript 對象返回
“jsonp” - 使用 JSONP 加載一個 JSON 塊,將添加一個 “?callback=?” 到 URL 來規定回調
說明:data,是js文件從前端獲取的值,用於給后台處理傳遞的值
格式是:var data={};
data.account = $("#account").val(); 說明:中間$("#account")是id為account,如果是class="account" ,則是$(".account")
data.passwd = $("#passwd").val();
data.ident = $("input[name='ident']:checked").val(); 表示獲取到一組name="ident" 的input type="radio"的單選框的值
result,是后台傳遞給js文件的值
status,表示 包含請求的狀態("success"、"notmodified"、"error"、"timeout"、"parsererror")
data和result的格式都是鍵值對
后台傳遞的寫法
JSONObject json = new JSONObject();
json.put("resuMsg","該賬戶已經被注冊!");
response.getWriter().print(json.toJSONString());
注意:如果對應的value是中文,別忘了設置字符集,這里采用utf-8,request和response一致即可
request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
然后js端:
alert(result.resuMsg);
通過:result.鍵值 即可獲得所傳遞的值。
##############################################################################################
很多人遇到
1.alert(result);可以出現json數據,但是result.resuMsg的結果是undefined
是因為忘記了最后的"json"
2.如果alert(result)就是undefined,那么就需要檢查后端傳遞的數據,看看是否忽略了上面三步的哪一步。
##############################################################################################
切記謹慎,切莫忽略任何小的東西,耐心檢查