Ajax常用方式
一、基本用法(发送请求、接收返回值); 1、js代码 $.ajax( { type :"POST",url :"/text.action?name="+name+"&user.id="+id,//后面name/id为变量 dataType :"json",async :false, success : function(result) { alert("result"+result); } }); 或者将url和参数分开写: url:"text.action", type:"post", data:{"user.id":id,"name":name}, 2、action配置 extends="json-default"//pakage的继承属性 <action name="test" class="societyPPSAction" method="test"> <result type="json"> <param name="root">result</param> </result> </action> 3、action中代码 private String result; public String test() { ...... ...... this.result="succ"; //可给result赋值json串 return SUCCESS; } 相关定义: JSON:JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。类似 XML。 JSON 比 XML 更小、更快,更易解析。 二、json数据封装 1、action中封装json格式的对象数组(转为字符串传输) List<Prize> list=prizeService.ajaxQueryList(prizes); JSONArray jArray=new JSONArray(); if (list!=null&&list.size()>0) { for(Prize all:list){ JSONObject object=new JSONObject(); object.put("id",all.getId()); object.put("name",all.getName()); object.put("price",all.getPrice()); jArray.add(object); } result=jArray.toString(); } 2、action中封装json格式的对象(含对象数组) JSONObject prizeJson=new JSONObject(); List<Prize> list=prizeService.ajaxQueryList(prizes); JSONArray jArray=new JSONArray(); if (list!=null&&list.size()>0) { for(Prize all:list){ JSONObject object=new JSONObject(); object.put("id",all.getPrice()); jArray.add(object); } prizeJson.put("prizeArray",jArray); result=prizeJson.toString(); } 三、json数据解析 1、js中解析json格式的对象数组的字符串 success : function(result) { var jsonArray=eval("("+result+")");//随意定义一个变量接收解析后的json数组 for(var i=0;i<jsonArray.length;i++){ alert(result[i].id); alert(result[i].name); } } 方法说明:eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成JavaScript对象。必须把文本包围在括号中,这样才能避免语法错误。 2、js中解析json格式的对象(含对象数组)的字符串 success : function(result) { var json=eval("("+result+")");//随意定义一个变量接收解析后的json对象 alert(json.allRow); for(var i=0;i<json.prizeArray.length;i++){ alert(json.prizeArray[i].id); alert(json.prizeArray[i].name); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |