javaScript如何迭代action中的集合? action中存在一个集合,集合里面保存N个Obj数组jquery ajax请求, 如何得到数组中的数据? 求解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 action 的数组,jquery ajax 中接受,直接那样是转不过来滴用dwr 很好解决 action中数组转成xml或json格式的数据,再用jquery遍历。 先遍历集合,再遍历数组。双层for循环搞定! 3q 好像都用 json ,没接触过 我看看 msg.length 有2000多 action中的集合 大小4 请问有哪错了啊? $.ajax({ type:'POST', url:'admin_poOrder_getCommodityDetail.action', data:{ productID:id }, dateType:'JSON', success:function(msg){ alert(msg.length); } });action private List<PdProductDetail> productList;Struts2 配置文件 <result type="json" name="commodityDetail"> <param name="root">productList</param> </result> 异常了 com.googlecode.jsonplugin.JSONException: java.lang.reflect.InvocationTargetException, 62javax.servlet.ServletException: com.googlecode.jsonplugin.JSONException: java.lang.reflect.InvocationTargetException msg.length 并不是集合的长度,是ajax返回字符的长度。看下你action 中是怎么写的 可以试试派发到jsp页面输出,再用ajax获取页面的内容 action 直接就是查询出对象 ,放在了list里面 ["{PID:314152,PD_NAME:时尚休闲卫衣 _flora_38423150,BRAND_NAME:flora,BRAND_ID:500005531,PD_ID:3565808,PD_DETAIL_NAME_CN:WThd- 3藏青色,PD_DETAIL_NAME:WThd-3네이비,VENDOR_ID:2307,BP_NAME:11st}"," {PID:314152,PD_NAME:时尚休闲卫衣 _flora_38423150,BRAND_NAME:flora,BRAND_ID:500005531,PD_ID:3565809,PD_DETAIL_NAME_CN:WThd- 3스킨米色,PD_DETAIL_NAME:WThd-3스킨베이지,VENDOR_ID:2307,BP_NAME:11st}"," {PID:314152,PD_NAME:时尚休闲卫衣 _flora_38423150,BRAND_NAME:flora,BRAND_ID:500005531,PD_ID:3565810,PD_DETAIL_NAME_CN:WThd- 3炭色,PD_DETAIL_NAME:WThd-3차콜,VENDOR_ID:2307,BP_NAME:11st}"," {PID:314152,PD_NAME:时尚休闲卫衣 _flora_38423150,BRAND_NAME:flora,BRAND_ID:500005531,PD_ID:3565811,PD_DETAIL_NAME_CN:WThd- 3驼色,PD_DETAIL_NAME:WThd-3카멜,VENDOR_ID:2307,BP_NAME:11st}"]数据拿出来了 msg[i].PID 这样拿数据 是位置对象 dateType:'JSON', 写错了 我晕 dataType才对 很好,但Json格式似乎不对,应该是:[{PID:"314152",PD_NAME:"时尚休闲卫衣",...},{PID:"",...}]这个数据应该在action中用response输出,前台jQuery才可以获取,获取代码如下:$.getJSON( url,//action路径 function(data){ var val; $.each(data, function(i){ val+=data[i].PID+" | "+data[i].PD_NAME; }); $("#假如有个显示层").html(val); });Action中不需要第三个,跟原来一样,无非就是用response输出。当然也可以在原来一个list的action中加一个判断,当url参数传来标记(例如ajax=true),那么就用response输出,否则返回。这种方案并不需要com.googlecode.jsonplugin之类的第三方插件。它在网络中传输的数据量非常少,所以高效。前台可以任意组织数据。最后注意的是,输出json格式的数据,一定要符合格式,否则ajax调试是个头疼的事。例如[{PID:"314152",PD_NAME:"时尚休闲卫衣",...},{PID:"",...},]这句最后多一个逗号,前台都不能解析的。 这些串是我拼的, list是可以直接返回的. 朋友谢谢了 是 dataType 各位前辈,来帮我看看我的思路错哪儿了?谢谢1!!! 谁试过springside3.4怎么使用??知道的来指点一下! 关于java使用RMI的一些问题,急等啊!!!! Weblogic的乱码问题(仅剩最后一部分) 兄弟们救救我啊 数据库访问效率问题 在linux下编写java程序,什么编译器比较好。 求Java EE 7完整JAR包列表! Jboss中JNDI问题 net: connect timed out 异常,如何捕捉? 上传功能文件名和路径名中文错误 ibatis自动生成工具abator,多表查询如何处理
用dwr 很好解决
双层for循环搞定!
3q 好像都用 json ,没接触过 我看看
$.ajax({
type:'POST',
url:'admin_poOrder_getCommodityDetail.action',
data:{
productID:id
},
dateType:'JSON',
success:function(msg){
alert(msg.length);
}
});
action private List<PdProductDetail> productList;Struts2 配置文件 <result type="json" name="commodityDetail">
<param name="root">productList</param>
</result>
javax.servlet.ServletException: com.googlecode.jsonplugin.JSONException: java.lang.reflect.InvocationTargetException
数据拿出来了 msg[i].PID 这样拿数据 是位置对象
写错了 我晕 dataType才对
[{PID:"314152",PD_NAME:"时尚休闲卫衣",...},{PID:"",...}]
这个数据应该在action中用response输出,前台jQuery才可以获取,获取代码如下:$.getJSON(
url,//action路径
function(data){
var val;
$.each(data, function(i){
val+=data[i].PID+" | "+data[i].PD_NAME;
});
$("#假如有个显示层").html(val);
});Action中不需要第三个,跟原来一样,无非就是用response输出。当然也可以在原来一个list的action中加一个判断,当url参数传来标记(例如ajax=true),那么就用response输出,否则返回。
这种方案并不需要com.googlecode.jsonplugin之类的第三方插件。它在网络中传输的数据量非常少,所以高效。前台可以任意组织数据。
最后注意的是,输出json格式的数据,一定要符合格式,否则ajax调试是个头疼的事。例如[{PID:"314152",PD_NAME:"时尚休闲卫衣",...},{PID:"",...},]这句最后多一个逗号,前台都不能解析的。
朋友谢谢了 是 dataType