摆脱jquery,用自己的JS库实现ajax功能
可以将下面的代码保存在一个文件里如:myAjax.js,以后在项目中如果觉得jquery那一套很重,就完全可以使用自己的ajax库,不用担心性能和兼容性!
/**
* 创建ajax请求对象
* @returns XMLHTTPREQUEST
*/
function createAjaxObj(){
var req ;
if(window.XMLHttpRequest){
req=new XMLHttpRequest();
}else{
req=new ActiveXObject("Msxml2.XMLHTTP");
}
return req;
}
/**
* 发送 ajax 请求
* @param method get/post
* @param url 请求路径
* @param params 参数列表 格式a=?&&b=?
* @param async true 异步 false 同步
* @param handle200 处理成功的函数
* @param loading 处理加载中的函数
* @param handle404 处理找不到地址的函数
* @param handle500 处理服务器内部出错的函数
*/
function sendAjaxReq(method,url,params,async,handle200,loading,handle404,handle500){
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()){
req.open(method,url+(params==null?"":"?"+params),async);
req.send(null);
}else if("post" ==method.toLowerCase()){
req.open(method,url,async);
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
req.send(params);
}
}
/** For Example
// 使用自己的ajax 类库发送 请求
sendAjaxReq("post",
"${base}/brandAjax/checkBrandId.do",
"brandId="+brandId,true,
function(req){
eval(" var data="+ req.responseText);
if(data.message==true){
alert("品牌ID:"+brandId+"已存在,不可重复添加!");
$("#hidBrandId")[0].innerHTML="";
$("#brandName").val("");
}else{
submitFlag=1;
$("#selBrand")[0].style.display = "none";
}
});
*/
最新文章
- ActiveMQ中的Destination高级特性(一)
- CH模拟赛 还教室
- hibernate的HQL语句
- [logstash-input-http] 插件使用详解
- 2.交通聚类 -层次聚类(agnes)Java实现
- 会话控制(session、cookie)
- NDK
- android开发 wifi开发工具类
- 使用webview如何做超时判断
- jQuery EasyUI 1.4.4 Combobox无法检索中文输入的问题
- Css3从IE6-IE9的支持查看
- 本地环境下 WordPress 环境搭建与安装
- 【Oracle】wmsys.wm_concat函数字段值为空
- ubuntu安装nVidia驱动,遇到终端闪砾问题并解决
- 数据结构——Java实现单链表
- 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(2)
- intel webrtc 部署
- Python数据结构——栈的列表实现
- java安装1.8的经验和Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVers问题处理
- SQL---->;mySQl数据库1------数据库的增删改查备份恢复
热门文章
- [Q&;A] 在证书存储区中找不到清单签名证书
- Entity Framework 代码先行之约定配置
- 吉日嘎拉C#快速开发平台V4.0到V4.2升级记
- 【工业串口和网络软件通讯平台(SuperIO)教程】四.开发设备驱动
- Linux(四)__javaee开发环境的搭建
- Understanding glibc malloc【待译】
- 设计模式学习之路——Decorator装饰模式(结构模式)
- [ASP.NET MVC] ASP.NET Identity登入技术剖析
- Nginx主配置参数详解,Nginx配置网站
- jQueryMobile示例页面代码