你以为 jQuery的 Ajax API 怎样,想不想定制更适合本身的丝滑 API。
这篇文章基于我之前的的一篇 《http.js 在Ajax单页面中的运用》 整顿而来。
你能够扫描文章末端的二维码关注我的关注我的民众号,内容大多会是后端手艺、前端工程、DevOps,偶然会有一些大数据相干,会引荐一些好玩的东西。愿望你会喜好~
编写通例的 AJAX 代码并不轻易,由于差别的浏览器对 AJAX 的完成并不相同。不过 jQuery 已帮助处置惩罚掉了这些兼容,但代码写多了照样以为不爽,由于它不能给我以下的体验:
更简朴的链式 API;
页面中的统统要求要附加一些大众参数;
不能一致处置惩罚效劳返回的自定义毛病;
新的 API
不爱着手的程序员不是好攻城狮。? 因而,我基于 jQuery,从新封装了一层。
这是一个例子
//附加大众参数
$http.global("token","abcd321");
$http.use("/api", (res) => {
if (res.success) {
return true;
}
var err = res.error;
if (err.code === 1001) {
location.href = "/login.html";
} else {
alert(err.message);
}
return false;
});
$http.get("/api/user").type("json")
.param("id", 110) .send( (res) => {
// 过滤器处置惩罚完才会实行到这一步
var datum = res.datum;
alert("Name: " + datum.name);
console.log(res.datum);
}, (err) => {
alert("查询失利了额");
console.error(err);
});
这是细致的API申明
设置大众参数;
$http.global(key, value);
设置过滤器;
$http.use(urlPrefix, option [optinal], callback);
设置要求范例;
$http.get(url);
$http.getJson(url);
$http.post(url);
$http.put(url);
$http.delete(url);
增添要求参数;
$http.param(key, value);
$http.params(paramJson);
设置要求头;
$http.header(key, value);
$http.headers(paramJson);
别的扩大选项;
$http.cache(boolean);
$http.type("json/xml/html");
$http.async(boolean);
$http.timeout(number);
发送要求并处置惩罚回调;
$http.send(options [optional], successCallback, errorCallback);
Gist 地点
https://gist.github.com/lenbo-ma/0213bfe…
长按二维码,关注我。
内容大多会是后端手艺、前端工程、DevOps,偶然会有一些大数据相干,会引荐一些好玩的东西。愿望你会喜好~
统统,源于喜好。