基于jQuery的ajax方法封装
ajax (ajax开发)简介AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 在实际的项目里,ajax的应用频率很高,所以尽管jquery或者其他的一些类似的js库做了非常不错的封装,仍然有进一步封装简化的空间和必要 举一个例子,很久很久以前,我的ajax是这么写的: 乍一看挺好没啥问题,但是其实success回调里的逻辑可能很复杂,甚至可能会出现ajax回调里再放一个ajax的情况,那这种写法就很糟糕了,全都杂糅在一起 可以进行一个简单的封装,这在之前Deferred对象的随笔里已经有提到 但是虽然做到这一步了,问题还是会来,比如我司,成功的回调里还有一层逻辑判断,像这样: 问题有二:第一,我每个ajax中都需要写一个同样的相对固定的逻辑判断(每个公司或者项目组可能会有不同,但是就项目本身而言,或者放大了到公司来说必然是固定的),我觉得很烦。 第二,如果我只想专注处理数据,比如在成功回调里,我直接拿到要处理要渲染的数据,在失败的回调里我直接拿到错误的代码,有没有这样的可能做进一步的封装。 其实这俩问题是一个,总结一句话,就是不想写那么多if,else。有一句话我觉得说得很好,逻辑是守恒的,但如果是可预见的逻辑,是有精简的可能的,我们这种显然属于可预见的逻辑。 二次封装利用了延迟对象的then方法,具体看代码: 这就把之前很杂揉的代码进一步的的简化,也方便了维护,比如某一天跟你说result不再是布尔值了,直接改成状态码这样的东西了,如果按以前一个ajax写一个判断,简直要疯。 以上所述是小编给大家介绍的基于jQuery的ajax方法封装。编程之家 52php.cn 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- com.alibaba.fastjson.JSONException: syntax error, expec
- 通过ADB操作/查看SQLite数据库以及Mac OS X下adb shell配置
- [LeetCode118]Valid Number
- objective-c – 滚动期间NSTimer停止
- Ajax跨域、Json跨域、Socket跨域和Canvas跨域等同源策略限制
- Sqlite实现默认时间为当前时间列的方法
- xml属性singleLine是否已弃用或不在Android中?
- FastJson学习笔记
- jquery.form.js实现将form提交转为ajax方式提交的方法
- oracle安装出现乱码等相关问题