一. HTTP 請求:GET vs POST
GET - 從指定的資源請求數據
POST - 向指定的資源提交要處理的數據
GET 基本上用於從服務器獲得(取回)數據。註釋:GET 方法可能返回緩存數據。
POST 也可用於從服務器獲取數據。不過,POST 方法不會緩存數據,並且常用於連同請求一起發送數據。
如需學習更多有關 GET 和 POST 以及兩方法差異的知識,請閱讀http://www.w3school.com.cn/tags/html_ref_httpmethods.asp
二. jQuery $.get() 方法
語法:
$.get(URL,callback);
下面的例子使用 $.get() 方法從服務器上的一個文件中取回數據:
實例
$("button").click(function(){
$.get("demo_test.asp",function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});
$.get() 的第一個參數是我們希望請求的 URL(”demo_test.asp”)。
第二個參數是回調函數。
提示:這個 ASP 文件 (“demo_test.asp”) 類似這樣:
<%
response.write("This is some text from an external ASP file.")
%>
三.jQuery $.post() 方法
語法:
$.post(URL,data,callback);
下面的例子使用 $.post() 連同請求一起發送數據:
實例
$("button").click(function(){
$.post("demo_test_post.asp",
{
name:"Donald Duck",
city:"Duckburg"
},
function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});
$.post() 的第一個參數是我們希望請求的 URL (“demo_test_post.asp”)。
然後我們連同請求(name 和 city)一起發送數據。
“demo_test_post.asp” 中的 ASP 腳本讀取這些參數,對它們進行處理,然後返回結果。
第三個參數是回調函數。第一個回調參數存有被請求頁面的內容,而第二個參數存有請求的狀態。
提示:這個 ASP 文件 (“demo_test_post.asp”) 類似這樣:
<%
dim fname,city
fname=Request.Form("name")
city=Request.Form("city")
Response.Write("Dear " & fname & ". ")
Response.Write("Hope you live well in " & city & ".")
%>
四. 我的實際開發場景
第一步:所有報文信息,放在一個obj中,並轉化爲一個json字符串
function saveVologError(oper){
//obj對象
var volog = new Object();
volog.vologerrorVo=logOfCMD+'';
volog.vologerrorSend=logOfSend+'';
volog.vologerrorBack=logOfBack+'';
volog.vologerrorSource="WEB";
volog.vologerrorOper=oper;
//轉json字符串
var vologStr = JSON.stringify(volog)+'';
$.post(base+"/il/in/authority/toSaveVologError",
{
"volog":vologStr
}
);
}
//第二步:在action類中, 我如何獲取這個json串?
public void toSaveVologError() throws Exception{
String jsonStr = getRequest().getParameter("volog");
//解析json,保存到對象vologError中
VologError vologError = JSONObject.parseObject(jsonStr, VologError.class);
//還可以給這個對象設置其他額外的屬性值
vologError.setUserid(user.getUserCode());
vologError.setVologerrorTime(Calendar.getInstance().getTime());
authorityService.saveVologError(vologError);
}
在實際開發中,經常通過ajax把json數據傳到action類中,然後在action中獲取並解析成相應的對象,最後進行相關的sql表操作。