客户端怎么获取服务端的list数据?

ns22020426 2011-01-19 04:49:53
IE每隔100ms向服务端取数据,服务端数据是list类型,怎么才能获取到这个值??

我的客户端是使用回调函数调用的,如下:
 $.get("./getReply.do", function(data)
{
})

其中data是返回的数据,我在服务端应该怎么设置数据呢? 谢谢~~~~
...全文
188 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Epiphone 2011-01-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ns22020426 的回复:]
JSONArray 是什么类型啊。
this.getResponse().getWriter(); 只能传递字符数据,不能传递对象啊~~~~~
[/Quote]
json是名值对的形式 比xml轻巧
[
{"city":"北京","area":16800,"person":1600},
{"city":"上海","area":6400,"person":1800}
]

不懂可以打开浏览器 google下 json
你后台不用传对象 对象都转成了json格式了 json就是字符串 就是输出字符串 因为转换后的字符串里更容易在前台页面里处理
  • 打赏
  • 举报
回复
window.setTimeout(function () {
$(document).ready(function(){
$.ajax({
url:"getListForRecv.do?id="+$("#fileId").val(),
dataType:"json",
type:"GET",
error:function(){},
success:function(data){
var fileNames = "";
$.each(data,function(i,v){
// 索引 i 值 v.title/v.name...
fileNames += v.fileName+";";//或许你后台传出来的json的值
});
}
});
});
}, 1000);

后台把你的list转成json
ns22020426 2011-01-20
  • 打赏
  • 举报
回复
恩 我这边是用 “*”把list里面的值隔开,传到客户端,代码如下:
    String chatBuf = new String();
if (chatList.size() > 0)
{
for (Iterator<String> iter = chatList.iterator(); iter.hasNext();)
{
chatBuf += iter.next();
chatBuf += "*";

iter.remove();
}
}
reponse.setContentType("text/html;charset=utf-8");
reponse.getWriter().write(chatBuf);


在服务端再依据“*”还原,代码:
     function getReply()
{
$.get("./getReply.do?" + Math.random(), function(data)
{
if (null != data && "" != data)
{
var replyInfo = data.split("*");
for (var i=0; i < replyInfo.length-1; i++)
{
showMessage("在线客服:", replyInfo[i], "#000080");
}
}

}
)
setTimeout("getReply()", 1000);
}



用json格式比这个有什么优势呢?谢谢!!!
qingyuan18 2011-01-19
  • 打赏
  • 举报
回复
data.text,如果你服务端返回的是list,应该是json数据类型,在js中parse一下data.text,然后就是通常操作json对象
ns22020426 2011-01-19
  • 打赏
  • 举报
回复
JSONArray 是什么类型啊。
this.getResponse().getWriter(); 只能传递字符数据,不能传递对象啊~~~~~
sharkdoodoo 2011-01-19
  • 打赏
  • 举报
回复
list 用 Json 灰常方便的说....
Epiphone 2011-01-19
  • 打赏
  • 举报
回复
window.setTimeout(function () {
$(document).ready(function(){
$.ajax({
url:"getListForRecv.do?id="+$("#fileId").val(),
dataType:"json",
type:"GET",
error:function(){},
success:function(data){
var fileNames = "";
$.each(data,function(i,v){
// 索引 i 值 v.title/v.name...
fileNames += v.fileName+";";//或许你后台传出来的json的值
});
}
});
});
}, 1000);

后台把你的list转成json

public void getListForRecv(){
List<RecvFileList> list = (List<RecvFileList>) this.recvFileService.getRecvFileList(String.valueOf(id));
JSONArray jsonArray = JSONArray.fromObject(list);
this.getResponse().setContentType("text/html;charset=utf-8");
PrintWriter out;
try {
out = this.getResponse().getWriter();
out.println(jsonArray);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧