- 爱易网页
-
JavaSript
- 向MVCaction发送json对象并处置的过程
日期:2014-05-16 浏览次数:20417 次
向MVCaction发送json对象并处理的过程
前段时间一直提问请教,现在该是我为国家做贡献的时候了。因此写这篇文章,介绍关于web客户端向MVC action发送json对象参数并处理的过程。
背景:一般我们都是向服务器发送表单,或者字符串参数,基本满足需求。我们也经常从服务器端返回json到web客户端,但是相反的方向很少触及,那就是从web客户端向服务器端提交json,在遇到到复杂需求时,就需要发送多个复杂的数据结构(数据结构序列)到后台了,这是json的用武之地。下面着重贴出关键代码:
前端页面代码:
function generateExcel()
{
var aArray=new Array();//new一个数组,以保存json对象
var li=$("#editCol li");
var jsonObj;
var colField="";
var colDesc="";
for(j=0;j<li.length;j++)
{
colField=$(li[j]).children("span.colField").text();
colDesc=$(li[j]).children("span.colDesc").text(); //构建json对象,并把它放到数组中
jsonObj={"id":colField,"name":colDesc}; aArray[j]=jsonObj;
}
//注意:一定要使用stringify函数对数组进行一番处理,就是json字符串化,这样才能发送到服务器端。
var inFoArrayJsonStr = JSON.stringify(aArray);
var url="Test!generateTemp.action";
$.ajax({
url:url,
type:"POST",
data:{'my':inFoArrayJsonStr}
});
}
后台Action处理代码:
JSONArray array=JSONArray.fromObject(ServletActionContext.getRequest().getParameter("my"));
Iterator it =ja.iterator();
JSONObject jo;
String id;
String name;
while(it.hasNext()){
jo =JSONObject.fromObject(it.next());
id= jo.getString("id");
name= jo.getString("name");
System.out.println(id);
System.out.println(name);
}
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。