浅析jQuery Ajax通用js封装


Posted in Javascript onJune 22, 2016

本文大概分为三步实现jquery ajax通过js封装,通过代码实例讲解,代码附有注释,比较容易理解,具体详情如下所示:

第一步:引入jQuery库

<script type="text/javascript" src="<%=path%>/resources/js/jquery.min.js"></script>

第二步:开发Ajax封装类,已测试通过,可以直接调用,直接贴代码,讲解就省了

/*****************************************************************
jQuery Ajax封装通用类 (linjq) 
*****************************************************************/
$(function(){
/**
* ajax封装
* url 发送请求的地址
* data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
* async 默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。
* 注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
* type 请求方式("POST" 或 "GET"), 默认为 "GET"
* dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
* successfn 成功回调函数
* errorfn 失败回调函数
*/
jQuery.ax=function(url, data, async, type, dataType, successfn, errorfn) {
async = (async==null || async=="" || typeof(async)=="undefined")? "true" : async;
type = (type==null || type=="" || typeof(type)=="undefined")? "post" : type;
dataType = (dataType==null || dataType=="" || typeof(dataType)=="undefined")? "json" : dataType;
data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
$.ajax({
type: type,
async: async,
data: data,
url: url,
dataType: dataType,
success: function(d){
successfn(d);
},
error: function(e){
errorfn(e);
}
});
};
/**
* ajax封装
* url 发送请求的地址
* data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
* successfn 成功回调函数
*/
jQuery.axs=function(url, data, successfn) {
data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
$.ajax({
type: "post",
data: data,
url: url,
dataType: "json",
success: function(d){
successfn(d);
}
});
};
/**
* ajax封装
* url 发送请求的地址
* data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
* dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
* successfn 成功回调函数
* errorfn 失败回调函数
*/
jQuery.axse=function(url, data, successfn, errorfn) {
data = (data==null || data=="" || typeof(data)=="undefined")? {"date": new Date().getTime()} : data;
$.ajax({
type: "post",
data: data,
url: url,
dataType: "json",
success: function(d){
successfn(d);
},
error: function(e){
errorfn(e);
}
});
};
});

第三步:调用模拟

<%@ page language="java" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<base href="<%=basePath%>">
<title>jQuery Ajax封装通用类测试</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<jsp:include page="/view/common/js_taglib.jsp"></jsp:include>
<script type="text/javascript">
$(function(){
$.ax(
getRootPath()+"/test/ajax.html",
null,
null,
null,
null, 
function(data){
alert(data.code);
}, 
function(){
alert("出错了");
}
);
$.axs(getRootPath()+"/test/ajax.html", null, function(data){
alert(data.data);
});
$.axse(getRootPath()+"/test/ajax.html",
null, 
function(){
alert("成功了");
},
function(){
alert("出错了");
});
});
</script>
</head>
<body>
</body>
</html>

以上所述是小编给大家介绍的jQuery Ajax通用js封装的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery鼠标滑过提示title具体实现代码
Aug 06 Javascript
JavaScript版TAB选项卡效果实例
Aug 16 Javascript
了解了这些才能开始发挥jQuery的威力
Oct 10 Javascript
使用jQuery实现的掷色子游戏动画效果
Mar 14 Javascript
ActiveX控件与Javascript之间的交互示例
Jun 04 Javascript
javascript实现炫酷的拖动分页
May 11 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
Feb 19 Javascript
简单实现jquery隔行变色
Nov 09 jQuery
AngularJS实现的锚点楼层跳转功能示例
Jan 02 Javascript
jQuery实现动态加载select下拉列表项功能示例
May 31 jQuery
JavaScript模板引擎应用场景及实现原理详解
Dec 14 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
Javascript如何判断数据类型和数组类型
Jun 22 #Javascript
最全的Javascript编码规范(推荐)
Jun 22 #Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
Jun 22 #Javascript
Javascript将数字转化成为货币格式字符串
Jun 22 #Javascript
jQuery soColorPacker 网页拾色器
Jun 22 #Javascript
DIV+CSS+jQ实现省市联动可扩展
Jun 22 #Javascript
Javascript对象字面量的理解
Jun 22 #Javascript
You might like
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
php下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
php简单判断文本编码的方法
2015/07/30 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
PHP+Session防止表单重复提交的解决方法
2018/04/09 PHP
用Javscript实现表单复选框的全选功能
2007/05/25 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
js无刷新操作table的行和列
2014/03/27 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
JS+CSS实现简单滑动门(滑动菜单)效果
2015/09/19 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
php 修改密码实现代码
2017/05/24 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
Vue header组件开发详解
2018/01/26 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python实现排序算法
2014/02/14 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
Python实现感知机(PLA)算法
2017/12/20 Python
python爬虫 Pyppeteer使用方法解析
2019/09/28 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
请用用Java代码写一个堆栈
2012/01/26 面试题
幼儿园老师寄语
2014/04/03 职场文书
产品售后服务承诺书
2014/05/21 职场文书
关于运动会广播稿50字
2014/10/18 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python
台积电称即便经济低迷也没有降价的计划
2022/04/21 数码科技