当前位置:编程学习 > JAVA >>

ajax技术实现异步刷新显示数据......

刚刚接触ajax,原理和形式都不懂。
   在后台servlet中查询到的数据库中的多条数据,如何返回到ajax,解析然后将查询大的相关的数据以表格形式显示出来。
   请主要说下后台查询到的数据返回时需不需要封装,比如说id,name,sex等封装到student对象中集体返回。
   2、返回的格式是什么样的,这个不是太清楚。
   3、在ajax中如何将返回回来的数据进行解析,并且在有需要的地方显示出来,比如说点击查询后将返回的数据以表格的形式显示出来,以达到异步刷新的效果。代码最好详细些,以便学习参考。
   4、由于本人是刚刚接触这一块,本身也是以菜鸟,没有什么其他可以奉献的,就多奉献些答题分数,以表衷心.....在线等大家的回复,100分独得。谢谢! --------------------编程问答-------------------- 既然是servlet,用servlet3.0就可以实现异步操作了! --------------------编程问答-------------------- 除 --------------------编程问答-------------------- ajax实际上就是通过javascript异步访问服务器,然后使用返回的结果,局部刷新网页的技术。在服务器端,并不区分是普通的页面请求还是ajax请求,只是根据请求的链接和参数,返回结果给客户端,返回的格式由服务器决定,可以返回xml格式也可以返回普通文本,还可以返回其他格式。客户端根据服务器返回的状态码来判断请求是否成功完成,完成后调用回调方法,处理返回结果,并利用结果局部刷新网页。大体原理是这样的,你可以参照http://www.w3school.com.cn/ajax/ajax_intro.asp。
由于直接使用原来的javascript编写ajax访问代码比较麻烦,可以使用jquery等开源的js库来实现ajax访问,具体的可以参照http://www.w3school.com.cn/jquery/jquery_ajax_intro.asp --------------------编程问答-------------------- 服务器返回的数据可以使用json格式,比较贴近于对象的表示方式,且容易处理。可以参照http://www.w3school.com.cn/json/index.asp --------------------编程问答-------------------- 你可以使用json格式返回查询结果,然后使用js构建出table,并将table显示在你想要显示的位置就可以了;你也可以直接在服务器构建出table,然后再使用js直接将结果显示在你要刷新的位置就可以了。 --------------------编程问答-------------------- 1、在servlet中我查找的结果集为rs(多条学生信息,有id,name,sex),将这些多条学生信息封装成student,存到ArrayList的list实例中,如何返回list呢,语句是什么?
2、我用的ajax请求方式是xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=function (){
         if(xmlhttp.readyState==4 && xmlhttp.status==200){  
document.getElementById("xianshi").innerHTML=xmlhttp.responseText;
  }
};
试过了,上面这样写不对,没有反应,怎么才能得到传过来的list呢?求解? --------------------编程问答-------------------- debug一下 --------------------编程问答-------------------- 你可以吧集合整成字符串,我就是这么干的 --------------------编程问答--------------------
引用 6 楼 yu271400 的回复:
1、在servlet中我查找的结果集为rs(多条学生信息,有id,name,sex),将这些多条学生信息封装成student,存到ArrayList的list实例中,如何返回list呢,语句是什么?
2、我用的ajax请求方式是xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange=function (){
……

Ajax是异步刷新,既然是异步刷新,其目的就不会是支持大数据库量的传输。
对象的传输用list或者直接传对象是会很麻烦的,通常的做法是吧list或者对象拼成一个字符串来进行传输的。如果按照特定的格式来拼接的话,就会产生诸如Json串了

--------------------编程问答-------------------- 楼主既然是有很多条数据,那可以用json数组:[{id:'',name:'',sex:''},{id:'',name:'',sex:''},{id:'',name:'',sex:''}...],前台进行解析这些JSon数据,然后以表格的形式展示就行了。 --------------------编程问答-------------------- json。。。。。 --------------------编程问答-------------------- $("#users").click(function () {  
        $.ajax({  
            url:'/test/load_allUser.action',  
            type:'post',  
            data:"{}",  
            dataType:'json',  
            success:function (data) {  
                  
                $(data.userList).each(function (i, value) {  
                    $("#allUser").append("<div>输出了:id:" + value.id + ", name: " + value.name + "</div>");  
                });  
  
            }  
        });  
    });  
});  
userList 是List<UserInfo> userList 你将userList集合转换成json,然后out.print(userList); --------------------编程问答-------------------- http://download.csdn.net/detail/xiangzhiliu/3023304 --------------------编程问答-------------------- http://download.csdn.net/detail/xiangzhiliu/3023304重新发一下,就是dwr的一个简单事例 --------------------编程问答-------------------- 后台可以用gson(当然也可以用其他工具)将数据转化成json格式传到前台
前台用ajax接收到后台的数据后进行展现

现在有很多前端框架帮我们实现是数据的展现和分页等,我们只需要传递数据就可以了
如jquery easy ui、ligeui、operamasks 等

http://blog.csdn.net/tianma630/article/details/8654722
这个是我整合的框架  有兴趣楼主可以看看
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,