function createAjaxObj(){ var req; if(window.XMLHttpRequest){ req = new XMLHttpRequest(); }else{ req = new ActiveXObject("Msxml2.XMLHTTP"); //ie } return req; } function sendAjaxReq(method,url,param,asychn,handle200,loading,handle404,handle500){ //创建XMLHttpRequest对象 var req = createAjaxObj(); req.onreadystatechange = function(){ if(4==req.readyState){ //表示服务器的响应数据已经成功接收 if(200==req.status){ if(handle200){ handle200(req.responseText); } }else if(404==req.status){ if(handle404){ handle404(); } }else if(500==req.status){ if(handle500){ handle500(); } } }else{ if(loading){ loading(); } } } if("get"==method.toLowerCase()){ var s = (param==null)?"":"?"+param; req.open(method,url+s,asychn); req.send(null); }else if("post"==method.toLowerCase()){ req.open(method, url,asychn); req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); req.send(param); } } function sendAjaxReqGetXML(method,url,param,asychn,handle200,loading,handle404,handle500){ //创建XMLHttpRequest对象 var req = createAjaxObj(); req.onreadystatechange = function(){ if(4==req.readyState){ //表示服务器的响应数据已经成功接收 if(200==req.status){ if(handle200){ var xmlDoc = req.responseXML; if(xmlDoc==null){ var result = req.responseText; xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.loadXML(result); } handle200(xmlDoc); } }else if(404==req.status){ if(handle404){ handle404(); } }else if(500==req.status){ if(handle500){ handle500(); } } }else{ if(loading){ loading(); } } } if("get"==method.toLowerCase()){ req.open(method,url+(param==null?"":"?"+param),asychn); req.send(null); }else if("post"==method.toLowerCase()){ req.open(method, url,asychn); req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); req.send(param); } }
解决浏览器差异的JS selectNodes.js
/* * 引入本js后,通过prototype解决了原来存在的浏览器差异的问题。 */ // check for XPath implementation if (document.implementation.hasFeature("XPath", "3.0")) { // prototying the XMLDocument XMLDocument.prototype.selectNodes = function(cXPathString, xNode){ if (!xNode) { xNode = this; } var oNSResolver = this.createNSResolver(this.documentElement) var aItems = this.evaluate(cXPathString, xNode, oNSResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null) var aResult = []; for (var i = 0; i < aItems.snapshotLength; i++) { aResult[i] = aItems.snapshotItem(i); } return aResult; } // prototying the Element Element.prototype.selectNodes = function(cXPathString){ if (this.ownerDocument.selectNodes) { return this.ownerDocument.selectNodes(cXPathString, this); } else { throw "For XML Elements Only"; } } } // check for XPath implementation if( document.implementation.hasFeature("XPath", "3.0") ) { // prototying the XMLDocument XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode) { if( !xNode ) { xNode = this; } var xItems = this.selectNodes(cXPathString, xNode); if( xItems.length > 0 ) { return xItems[0]; } else { return null; } } // prototying the Element Element.prototype.selectSingleNode = function(cXPathString) { if(this.ownerDocument.selectSingleNode) { return this.ownerDocument.selectSingleNode(cXPathString, this); } else{throw "For XML Elements Only";} } }
为了导入方便整理包含到一个js文件中: included.js
document.write('<script src="ajaxUtil.js"></script>');
document.write('<script src="selectNodes.js"></script>');
- ajaxstu.rar (26.9 KB)
- 下载次数: 2
发表评论
-
log4j.properties配置详解
2016-01-18 16:50 1329Log4J的配置文件(Configuration File)就 ... -
Java读写文件中文乱码问题
2015-07-20 17:49 3006问题:在用Java程序进行读写含中文的txt文件时,经常会出现 ... -
jquery方法扩展使用
2014-12-02 19:28 793//非负浮点数 保留一位小数---添加到jquery.vali ... -
jquery操作select值,jqery设置select值
2014-10-15 21:26 1159每一次操作select的时候,总是要出来翻一下资料,不如自己总 ... -
jquery ajax相关操作
2014-09-28 13:50 848--ajax 请求当有记录时给予提交,rows为0时提示提示框 ... -
jquery ajax和data的使用
2014-09-04 14:58 1146function print(selId){ $. ... -
Js中parseFloat()精度问题
2014-07-08 16:11 2370<!DOCTYPE HTML PUBLIC " ... -
jquery attr()属性
2014-07-04 19:07 3074在JS中设置节点的属性与属性值用到setAttribute() ... -
CSS中line-height与height的区别
2014-07-03 19:32 1524CSS中line-height与height的区别? lin ... -
freemarker为空判断详细
2014-05-27 22:08 53067freemarker里面判断为空只有??,后来查找其他文档才发 ... -
FreeMarker中if标签内的判断条件
2014-05-13 18:41 17695FreeMarker中if标签内的判断条件 FreeMark ... -
jdbc properties文件配置
2014-05-05 21:33 1366前言 JDBC(Java Data Base Connecti ... -
FreeMarker 对null值的处理
2014-05-05 17:40 2681以下引用官方描述: The FreeMarker temp ... -
freemarker ?datetime ? time ?date
2014-04-30 16:28 2743?date,?time和?datetime,因为你指定的格式告 ... -
div设置显示与隐藏、边框等
2014-04-30 16:24 25251.div 设置隐藏后页面占 ... -
div设置显示与隐藏、边框等
2014-04-30 16:22 18661.div 设置隐藏后页面占 ... -
用jquery计算前两个文本框的结果等于第三个文本框
2014-04-23 21:19 1430//本记录是结束里程数-起始里程数=运行里程数 //其它 ... -
jQuery.validate使用手册-详解
2014-04-09 14:22 1223jQuery.validate是一款非常不错的表单验证工具,简 ... -
jQuery对表单元素的取值和赋值操作
2014-04-08 22:13 1450jQuery对表单元素的取值 ... -
JQuery获取input type="text"中的值的各种方式
2014-04-08 22:09 2119<!DOCTYPE html PUBLIC " ...
相关推荐
js里面直接调用工具类的方法即可, 很详细
js文本框异步提示(可以自适应,支持多种灵活调用方式),只一个js文件即可,调用非常方便, <input type="text"onkeyup="ajaxUtil.u_list();" />
**Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这种技术的核心在于JavaScript...
在IT行业中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务与客户端之间的数据传输,因为它易于人阅读和编写,同时也易于机器解析和生成。AJAX(Asynchronous JavaScript and ...
3个常用js封装类AjaxUtil.js,EventUtil.js,build.js 有详细的说明文字 基于google查询数据库的最简单实际例子 近期有时间会写一个基于ajax和Lucene的搜索引擎上传
vue的ajax下载帮助更多的人学习和使用vue。减少不必要的浪费时间的去网上寻找,这里应有尽有。老铁,这里有资源。
首先,我们来看`ajaxUtil.js`。这是一个JavaScript文件,它通常包含了用于处理Ajax请求的函数。在Google分页效果中,Ajax起着至关重要的作用,因为它允许页面在不刷新整个页面的情况下动态更新内容。开发者可能定义...
ajax-utils 我们经常使用ajax函数。 但这有点痛苦。 $.ajax({ type: 'POST', // some parameters success: function () { // when success }, error: function () { ... // You don't have to write "type", ...
这通常通过函数或类实现,例如创建一个AjaxUtil工具类,提供统一的发送请求的方法。 2. **异步回调模式**:由于Ajax是异步的,我们通常使用回调函数处理响应数据。当请求完成后,执行预设的回调函数,处理返回的...