现在还在学习中,试着重新做了一个AJAX原生的封装
2014-11-30 12:21
411 查看
/** * @param data 数据发送的方式,用字符串形式传入 * @param fun 当响应状态返回全部正确时所执行的函数 */ function sendAJAX(data,fun){ var xm = null; if(window.ActiveXObject){ xm = new ActiveXObject("Micrsoft.XMLHTTP"); } else if(window.XMLHttpRequest){ xm = new XMLHttpRequest(); } if(xm != null){ xm.onreadystatechange = function(){ if(xm.readyState == 4 && xm.status == 200){ if(fun){//如果存在回调函数fun则执行下面 fun(xm) } } }; var reg = /^\/\w*(\?|#)+(\w*=+\w*)+((\&\w*=\w*)|(\&\w*=\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*))*$|^\/\w*(\?|#)+$/;
if(!reg.test(data)){//判断传入的data是否满足AJAX的数据格式 alert("传输数据格式错误")//如果不满足就报错 } else{//如果满足则执行下面代码 if(data.indexOf("#") != -1){//如果为#则执行POST发送方式 var urlS = data.split("#"); xm.open("post",urlS[0]); xm.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xm.send(urlS[1]) } else{//如果为?则执行POST发送方式 xm.open("get",data); xm.send(); } } } else{ alert("您的浏览器不支持此代码") } }
可能还有考虑的不是很周全的地方,想到了再继续改进
相关文章推荐
- 原生Javascript封装的一个AJAX函数分享
- ajax基础——如何用原生js封装一个ajax函数
- 原生Javascript封装的一个AJAX函数分享
- 自己做工具--用原生js封装一个AJAX插件
- 利用原生js封装一个ajax api(一)
- 将ajax请求封装为一个对象(原生js)
- 菜鸟学习abstract【一个类可以被继承但不能实例化,子类不需要重新定义属性】
- 一个ajax通用函数(xmlhttprequest封装)
- 一个封装了在Ajax下弹出Alert、showModelessDialog、showModalDialog窗口的类
- 现在还在用VB6编程的朋友可以来看一下,我写的一个小程序,在VB6开发环境下支持鼠标滚动轮的操作
- 整理一个自己用的Ajax例子,封装,调用!
- 去年这时候辞退了一个开发人员,不知道他现在是否还在写程序了,可以跟他对比一下你的编程水平
- 去年这时候辞退了一个开发人员,不知道他现在是否还在写程序了,可以对比一下编程水平
- 现在想起来,一个最早学习编程的时候的问题, 关于文本文件的读写
- 重新一步一步学习Lucene.NET 一个简单的程序开始(1)
- 去年这时候辞退了一个开发人员,不知道他现在是否还在写程序了,可以对比一下编程水平
- 一个AJAX连接池封装
- 现在喜欢用AjaxPro.dll这里是的一些地址链接,个人收藏和学习。
- 一个很好的javascript框架,prototype.js 1.4,很好的封装了ajax的应用。
- Asp.Net Ajax 学习笔记9 JavaScript的原生类型以及Microsoft AJAX Library的相关扩展(上)