资讯专栏INFORMATION COLUMN

基于 jQuery Ajax 定制自己喜爱的 API

30e8336b8229 / 3439人阅读

摘要:你觉得的怎么样,想不想定制更适合自己的丝滑。这篇文章基于我之前的的一篇在单页面中的应用整理而来。因此,我基于,重新封装了一层。内容大多会是后端技术前端工程,偶尔会有一些大数据相关,会推荐一些好玩的东西。希望你会喜欢一切,源于喜欢。

你觉得 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,偶尔会有一些大数据相关,会推荐一些好玩的东西。希望你会喜欢~

一切,源于喜欢。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79178.html

相关文章

  • http.js 在Ajax单页面中应用

    摘要:发送全局参数我做单页面应用时,会有这样一个情景当用户登录后,服务器会返回一个值,之后的大部分请求都需要传递这个参数。因此,我在中增加这样一个函数来解决上面的问题。 关于作者 马隆博(Lenbo Ma),Java,Javascript Blog: http://mlongbo.com E-Mail: mlongbo@gmail.com 文章编写于: 2014/08/10 转载请注明出...

    DC_er 评论0 收藏0
  • 学Java编程需要注意地方

    摘要:学编程真的不是一件容易的事不管你多喜欢或是多会编程,在学习和解决问题上总会碰到障碍。熟练掌握核心内容,特别是和多线程初步具备面向对象设计和编程的能力掌握基本的优化策略。   学Java编程真的不是一件容易的事,不管你多喜欢或是多会Java编程,在学习和解决问题上总会碰到障碍。工作的时间越久就越能明白这个道理。不过这倒是一个让人进步的机会,因为你要一直不断的学习才能很好的解决你面前的难题...

    leanxi 评论0 收藏0
  • JSONP一点笔记<修改中>

    摘要:请求服务器数据并规定回调函数为上面代码通过动态添加元素,向服务器发出请求。另外假设向服务发送的请求是这样的在这种情况下,是表示请求的请求参数,而是应用程序的回调函数的名称。清单调用回调服务注意,我们使用作为回调函数名,而非真实的函数名。 同源策略 同源策略(Same origin policy),它是由Netscape提出的一个著名的安全策略。现在所有支持JavaScript的浏览器都...

    姘存按 评论0 收藏0
  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:转载来源包管理器管理着库,并提供读取和打包它们的工具。能构建更好应用的客户端包管理器。一个整合和的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。很棒的组件集合。隐秘地使用和用户数据。 转载来源:https://github.com/jobbole/aw... 包管理器管理着 javascript 库,并提供读取和打包它们的工具。•npm – npm 是 javasc...

    netmou 评论0 收藏0
  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:转载来源包管理器管理着库,并提供读取和打包它们的工具。能构建更好应用的客户端包管理器。一个整合和的最佳思想,使开发者能快速方便地组织和编写前端代码的下一代包管理器。很棒的组件集合。隐秘地使用和用户数据。 转载来源:https://github.com/jobbole/aw... 包管理器管理着 javascript 库,并提供读取和打包它们的工具。•npm – npm 是 javasc...

    Hydrogen 评论0 收藏0

发表评论

0条评论

30e8336b8229

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<