`
Longmanfei
  • 浏览: 46637 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ajax数据库异步查询分页技术实现(数据—>xml—>数据)

阅读更多

Ajax,想必大家对它并不陌生(读音:e:j^ks,)AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML)

那我们要如何运用ajax实现异步的数据查询和把查询的数据封装成xml Dom 对象 然后再解析成数据显示回页面呢 。也许用人会说这个很简单,只要把nowpage 和 countpage 传过去就可以了 ,的确是这样 但是重点不是这个 ,重点是我们如何在异步查询的前提下 进行nowpage 和 countpage 的及时(所谓及时就是指当点击的时候去更新)刷新 和把xml Dom里所有子节点的内容 怎么回显到html Dom中(即把相关数据回显到页面),我们都知道局部刷新如果写的代码有问题nowpage 和countpage 是不会改变的。那我们应该怎样实现这个分页呢,其实还是很简单,下面简单说一下实现分页的js和servlet 和jsp 

   首先我们要针对不同浏览起的兼容问题进行XmlHttpRequest的创建function getXhr() {

	var xhr
	try {
        //firefox opera
		xhr = new XMLHttpRequest();
	} catch (err) {
		try {
            //iE
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (er) {
			alert("不支持ajax技术");
		}
	}
    return xhr;
}
  之后我们就开始用ajax去封装和发送请求
function selectEmp(nowp) {
	//获取xhr对象
	var xhr = getXhr();
	//封装请求信息
	xhr.open("get", "./listEmp.do?nowpage="+nowp, true);
	//发送请求
	xhr.send();
	//根据服务器端传递xhr.readyState触发的事件进行处理
	xhr.onreadystatechange = function() {
		//根据readyState是否处理完毕,status服务是否返回成功
		if (xhr.readyState == 4 && xhr.status == 200) {
			//获得xml的document对象
			var doc = xhr.responseXML;
			
			listEmps(doc);
			empdoc=doc;

		}
	}
}

//这里是现实分页的js逻辑
var empdoc;
function getPageInfo(mark){
    var root=empdoc.documentElement;
    var nowpage=root.getAttribute("nowpage");
    var pagezong=root.getAttribute("pangzong");
    switch(mark){
       case 1:
       nowpage=1;
       break;
        case 2:
       nowpage--;
       break;
        case 3:
       nowpage++;
       break;
        case 4:
       nowpage=pagezong;
       break;
    
    
    }
    selectEmp(nowpage);


}
//页面这样写就可以了
<div id="fenye">
  <span>//首先我们要在servlet中封装xml文件时封装两个属性 nowpage和countpage
   <a href="javascript:getPageInfo(1)">首页</a>
  //这里我们调用js里面的方法去运算逻辑,然后把nowpage传给ajax去查询进行时时更新
   <a href="javascript:getPageInfo(2)">上一页</a>
   <a href="javascript:getPageInfo(3)">下一页</a>
   <a href="javascript:getPageInfo(4)">末页</a>
   </span>
</div>
//servlet 里面把数据封装到xml中
response.setContentType("text/xml;charset=UTF-8");
		PrintWriter out = response.getWriter();
		out
				.println("<?xml version='1.0' encoding='UTF-8'?>");
	out.println("<emps nowpage='"+nowpage+"' pangzong='"+pangzong+"'>");
		
		for(Emp emp:emps){
			out.println("<emp>");
			out.println("<empno>"+emp.getEmpno()+"</empno>");
			out.print("<ename>"+emp.getEname()+"</ename>");
			out.println("<job>"+emp.getJob()+"</job>");
			out.print("<hiredate>"+emp.getHiredate()+"</hiredate>");
			out.println("<mgr>"+emp.getMgr()+"</mgr>");
			out.print("<sal>"+emp.getSal()+"</sal>");
			out.print("<comm>"+emp.getComm()+"</comm>");
			out.print("<deptno>"+emp.getDeptno()+"</deptno>");
			out.println(" </emp>");
		}
		
		out.println("</emps>");
		out.flush();
		out.close();

  详细的增删改查分页请见附件

  • ajax.rar (43.8 KB)
  • 描述: 增删改查分页
  • 下载次数: 89
5
1
分享到:
评论

相关推荐

    httpxmlRequest+ajax+jquery+fastjson+jsp异步通讯实战案例精讲

    项目内容从创建原生态的HTTPXMLRequest实现ajax开始,详细讲解ajax的应用,各种应用场合的实战案例;利用JQuery的ajax支持,...7.使用JQuery的ajax技术,在一个页面实现新增、修改、删除、查询、分页,文件上传等功能;

    AJAX基础概念、核心技术与典型案例(内涵动态实例)

    AsyncAjaxSample Ajax异步调用的完整示例 第2章(/C02/) 2.1.htm 3段JS使用形式 2.2.htm 不同浏览器使用“&lt;noscript&gt;&lt;/noscript&gt;” 2.3.htm 调用单独的JS文件 2.3.js 一个单独的...

    Ajax-bunny.zip

    无依赖项的小型独立组件包:formdata、upload、图像预览、html5验证、自动完成、下拉列表、日历、日期选择器、ajax、数据表、分页、url、模板en引擎,元素定位,平滑滚动,旋转…,ajax代表异步javascript和xml。...

    第7章 数据绑定控件

    实例211 带上下箭头排序并实现查询数据为 空显示表头 334 实例212 GridView自动求和及合并多列多行 单元格 336 实例213 GridView合并行或列单元格的5种 通用方式 338 实例214 GridView删除数据时弹出确认对话框 (含...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录进行显示。 5.单数据源配置(兼容Tomcat和Weblogic)。 6.Hibernate继承 HibernateDaoSupport。 7.Spring+Junit4单元测试,优点:...

    Ajax实现页面自动刷新实例解析

    通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。 ...

    asp.net使用AJAX实现无刷新分页

    AJAX(Asynchronous JavaScript and XML)是一种进行页面局部异步刷新的技术。用AJAX向服务器发送请求和获得服务器返回的数据并且更新到界面中,不是整个页面刷新,而是在页面中使用Js创建XMLHTTPRequest对象来向...

    Ajax-bPage.zip

    Ajax-bPage.zip,基于bootstrap风格,静态页面跳转也可以是异步页面处理分页插件,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小...

    Ajax-MvcPagedList.Core.zip

    Ajax-MvcPagedList.Core.zip,在asp.net核心mvc中轻松分页,该mvc从数据库中获取数据块,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页...

    Ajax-ajax-search-pagination.zip

    Ajax-ajax-search-pagination.zip,ajax搜索 使用laravel和vuejs分页,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新...

    用AJAX实现的无刷新的分页实现代码(asp.net)

    最近学习了AJAX技术。AJAX,指的是异步的Javascript和xml。它的基本原理就是页面用Javascript发送一个异步的http请求到服务器,服务器返回数据后,再用Javascript静态的去更改页面某个地方的值,而无需提交表单。

    asp.net知识库

    SharpRewriter:javascript + xml技术利用#实现url重定向 采用XHTML和CSS设计可重用可换肤的WEB站点 asp.net的网址重定向方法的比较:面向搜索引擎友好 也谈 ASP.NET 1.1 中 QueryString 的安全获取写法 ASP.NET运行...

    Ajax学习笔记—3种Ajax的实现方法【推荐】

    Ajax: Asynchronous JavaScript and Xml , 异步js脚本和xml , 常用来实现页面局部的异步刷新, 对提高用户体验有很大帮助. Xml在多语言时较有优势, 但Ajax技术实际上较多采用Json对象而不是Xml来处理数据. (一) Ajax...

    Ajax-ajax-datatables-rails.zip

    Ajax-ajax-datatables-rails.zip,datatable的ajax方法的包装器,允许在rails应用程序中与服务器端分页同步,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建...

    Ajax-Ajaxinate.zip

    Ajax-Ajaxinate.zip,shopify主题的ajax分页插件,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下更改...

    Ajax-Symfony-3.4-Blog.zip

    Ajax-Symfony-3.4-Blog.zip,symfony 3.4博客,...,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下更改。

    Ajax-better-pagination.zip

    Ajax-better-pagination.zip,使ajax分页运行得...,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下更改。

    Ajax-TableBundle.zip

    Ajax-TableBundle.zip,symfony包,易于分页和过滤,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页的情况下...

    ASP.NET.4揭秘

    18.3 使用objectdatasource控件分页、排序和过滤数据610 18.3.1 用户界面分页611 18.3.2 数据源分页613 18.3.3 用户界面排序618 18.3.4 数据源排序620 18.3.5 过滤数据624 18.4 处理objectdatasource控件的事件628 ...

Global site tag (gtag.js) - Google Analytics