浏览 2922 次
锁定老帖子 主题:AJAX问题一问
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-16
那么AJAX在成功代码200里面,如何取得这个list对象? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-12-16
象这样的list我会这样做:
方法一、如果list的对象最终是在页面中变成table那么我会把它们用html的方式组合起来,然后用responseText来接收,对他进行解析。 方法二、如果list是某个下拉框或javascript的变量值,那么我会把list用xml来实现,然后用responseXML来接收,对他进行解析。 |
|
返回顶楼 | |
发表时间:2006-12-16
按我的理解楼主是在讨论callback方式如何传递object,二楼的我没看明白。
我自己的做法是一般传递一个完整的callback函数和参数字符串给xmlhttp的onready事件,其中需要替换为responseXML或者responseText的会先用_XML_、_TEXT_这样的占位符,执行onready事件时先把"_XML_"用js的regexp.replace替换成"xmlhttp.responseXML",再eval(callback) 比如: function xmlhttp_request( url, onready ) { var xhr = new XMLHttpRequest();; ... onready.replace( /_XML_/ig, "xhr.responseXML" ) eval( onready ); } function my_parser( XML ) { ... return obj; } function my_renderer( obj ) { alert( obj.attr ); } xmlhttp_request( "http://xxx", "my_renderer(my_parser(_XML_))" ); 这样可以通过一系列parser函数和renderer函数来重用底层的xmlhttp_request代码了。 |
|
返回顶楼 | |
发表时间:2006-12-16
首先,你得把这个list变成一个字符串吧:http协议传输的就是字符串,另外,js也只能处理字符串。
转换成字符串有两种方式:json或者xml。用json会比较简单,list大概能变成这样的字符串:[{id:1,name:"xxx",age:12},{id:2,name:"",age:20},...],然后到了客户端之后,只需eval("obj="+str)就能得到一个js对象数组,str就是上面这个字符串。把java对象变成字符串已经有很多框架了,不需要自己写,你可以试试看这个:http://www.iteye.com/topic/32542 |
|
返回顶楼 | |
发表时间:2006-12-18
hexiaodong 写道 首先,你得把这个list变成一个字符串吧:http协议传输的就是字符串,另外,js也只能处理字符串。
转换成字符串有两种方式:json或者xml。用json会比较简单,list大概能变成这样的字符串:[{id:1,name:"xxx",age:12},{id:2,name:"",age:20},...],然后到了客户端之后,只需eval("obj="+str)就能得到一个js对象数组,str就是上面这个字符串。把java对象变成字符串已经有很多框架了,不需要自己写,你可以试试看这个:http://www.iteye.com/topic/32542 同意 很多ajax框架都有java对象到js对象(字符串)转化的帮助类,都很精巧的,很好用 |
|
返回顶楼 | |
发表时间:2006-12-18
这个用DWR太太太方便了...
|
|
返回顶楼 | |