view向controller传递大量数据
问题:view想controller传递大量数据,当controller接受到数据时,将页面跳转到另一页去我的方法:在view中,当单击按钮时,向控制器中传递大量数据(不是从表单中获取的),原来以为可以用在控制器的相应方法中用一个数组作为形参,但好像不行;没办法,采用ajax进行传递,但在controller中接收到数据后用redirect方法跳转,好像还不行,原因可能是ajax的回调。。。
请哪位大哥、大姐帮个忙,给个好的解决方案啊!!!!
ajax post过去,成功处理后,用js的location方法跳转 本帖最后由 yuzhigang5460 于 2011-9-19 10:46 编辑
可以在view中使用一个隐藏表单,
<input type="hidden"name="mydata" value="myvalue"/>
隐藏表单是可以传递数组的,如果数组很大,可以存储该数组的序列化结果,在控制器中然后反序列化,处理后既可以跳转。 我用的就是这种方法,在控制器中声明几个对应的类属性,用一个方法接收view传递过来的值,并将这些值赋给类属性,在js的回调函数中再转向该控制器中的另一个方法,而在该方法中就可以使用先前赋值的类属性了,那么这些变量是不是必须为static的?还有就是如果有时间延迟,在回调函数转向控制器前,类属性被另一个ajax请求给改变了,咋办,帮忙啊! 薛伟 发表于 2011-9-19 10:48 static/image/common/back.gif
我用的就是这种方法,在控制器中声明几个对应的类属性,用一个方法接收view传递过来的值,并将这些值赋给类 ...
这些属性当然不会再有了,因为这是一个新的控制器,相当于是新生成的对象;某种程度上,我觉得你这些数据需要保存,用session或者是数据库。 感谢,学到不少,采用隐藏表单试试 支持,感谢分享! 我是来学习的:lol redirect('/contro/functionname');
页:
[1]