首页 新闻 搜索 专区 学院

为什么我用hidden处理后台传递过来的对象数组都是乱码

0
悬赏园豆:50 [已解决问题] 解决于 2013-12-28 21:33

<input type="hidden" name="hour"  value="${sessionScope.hour_points}"/>

$.each($('input[name=hour]'),function(info, item)
{
$.each(item,function(name,val){      
alert(name);  //弹出的name是一些奇怪的字符,什么wekitEntries

});

});

我这样做是不是不行?

是没有把value还原成对象数组?

<input type="button" name="hour"  value="${sessionScope.hour_points[0].event_id}"/>

这样是能够显示出id值的button的。

<input type="button" name="hour"  value="${sessionScope.hour_points[0].points[0].point}"/>

这样也能输出point值的button的

但是jquery或js到底怎么写才能把这些后台传来的数据遍历呢?

第一次提问,不知道自己表述清不清楚,求大神指导!

PiLee的主页 PiLee | 初学一级 | 园豆:132
提问于:2013-12-27 20:54
< >
分享
最佳答案
0

后台的数据,转成json格式的数据,如果是集合,直接循环遍历,在放到hidden中就行了

收获园豆:30
秋壶冰月 | 大侠五级 |园豆:5692 | 2013-12-27 21:41

嗯,是集合,能否前台遍历解析呢?

PiLee | 园豆:132 (初学一级) | 2013-12-28 00:25

@PiLee: 可以遍历啊!

1、通过JavaScriptSerializer(.net 3.5自带的,还可以用json.net等组件)将集合转为json格式数据,传递到前台,前台通过javascript遍历解析,配合ajax挺好的

2.aspx.cs定义一个公共变量接收接收集合,aspx页面循环遍历

方式有多种(只说了两种),看你用那种,按自己需求的来找适合的

秋壶冰月 | 园豆:5692 (大侠五级) | 2013-12-28 01:05

@秋壶冰月: 由于数据量大,不能用hidden传值了,还是转换成json用ajax了

PiLee | 园豆:132 (初学一级) | 2013-12-28 21:34
其他回答(2)
0

其它你打开页面,但看源代码,你就知道value字符串是什么个样子,你就懂了。

收获园豆:10
angelshelter | 园豆:9682 (大侠五级) | 2013-12-27 21:57

嗯,是一长串字符有乱码也有设的List名字

支持(0) 反对(0) PiLee | 园豆:132 (初学一级) | 2013-12-28 00:24

@PiLee: 那说明你的赋 值就是有问题的。要么用jsp语言,把集合的值记遍历一下,要不用字符串拼接成js能识别的东东,比如var array = [2,3,4];

支持(0) 反对(0) angelshelter | 园豆:9682 (大侠五级) | 2013-12-28 09:09
0

value不识别你的后台数据对象,你需要将后台数据对象sessionScope.hour_points转换为字符串格式,如Json。然后前台才可以解析。否则的话,会取sessionScope.hour_points.toString()的值。

还有,这个不叫乱码(一般我们对编码产生的怪异字符才叫乱码),注意分清楚。

收获园豆:10
幻天芒 | 园豆:36790 (高人七级) | 2013-12-28 10:56

谢谢,明白了

支持(0) 反对(0) PiLee | 园豆:132 (初学一级) | 2013-12-28 21:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册