jQuery ajax之get和post(二)

一. 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表操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章