首页 > 代码库 > 对jquery中的$.ajax二次封装 从而多次调用 今天一整天都在想这个事情
对jquery中的$.ajax二次封装 从而多次调用 今天一整天都在想这个事情
当然了 我封装的是$.ajax 可以传参数 多次调用请求接口 为啥我们这地方不注重前端呢 我都不知道为啥去坚持 不说了 上代码
js文件
$ajax.js
$(function(){
/**
* ajax封装
* url 发送请求的地址
* data 发送到服务器的数据,数组存储,如:{"username": "张三", "password": 123456}
* succCallback 成功回调函数
* errorCallback 失败回调函数
* type 请求方式("POST" 或 "GET"), 默认已经设置为 "POST"
* dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
* reference jquery-1.7.1.js
*/
//插入loading
var html = "";
html += ‘<div class="js_loading">‘;
html += ‘<div class="mask"></div>‘;
html += ‘<div class="loading">‘;
html += ‘<span><img src="http://www.mamicode.com/loading.gif"></span>‘;
html += ‘</div>‘;
html += ‘</div>‘;
$("body").append(html);
function $ajax(url, postData, succCallback, errorCallback, type, dataType){
var type = type || "post";
var dataType = dataType || "json";
$.ajax({
type: type,
url: url,
data: postData,
dataType: dataType,
beforeSend: function(){ //开始loading
$(".js_loading").show();
},
success: function(res){
if(res.success){
if(succCallback){
succCallback(res);
}
}else{
if(errorCallback){
errorCallback(res);
}
}
},
complete: function(){ //结束loading
//$(".js_loading").remove();
$(".js_loading").hide();
}
});
}
});
是不是一看就明白了 so easy 不要觉得那些面试官出的题目有多难 只是么有反应过来
好了 接下来就是调用了
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>ajax再封装</title>
<style>
.js_loading{display:none;}
.mask{background:rgba(255, 255, 255, 0);position:fixed;left:0;top:0;width:100%;height:100%;z-index:1;}
.loading{position:fixed;left:0;top:0;width:100%;height:100%;z-index:2;display:box;box-pack:center;box-align:center;display:-webkit-box;-webkit-box-pack:center;-webkit-box-align:center;}
.loading span{display:block;background:#333;width:40px;height:40px;border-radius:3px;text-align:center;}
.loading img{width:26px;margin-top:7px;}
</style>
<script src="http://www.mamicode.com/jquery-1.7.1.js"></script>
</head>
<body>
<button type="button" class="btn">获取</button>
<div class="box"></div>
<script>
$(function(){
$(".btn").click(function(){
var postData = http://www.mamicode.com/{".box").html(res.firstName);
},
function(res){ //失败
$(".box").html(res.fail);
}
);
});
});
</script>
</body>
</html>
还有就是请求的页面 test.asp
{
"success":true,
"firstName":"获取成功!!!",
"lastName":"哈哈...",
"fail":"获取失败!!!"
}
自己试试吧 思路一疏通 写这类的方法不是问题
关机睡觉
---恢复内容结束---
当然
对jquery中的$.ajax二次封装 从而多次调用 今天一整天都在想这个事情
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。