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