封装ajax,让调用变得简单优化
思考一下:
通常我们在使用ajax来发送接口请求时,每一次都会调用ajax固定的元素,比如data、url、method、success、error等。那么我们想一下能不能先把ajax封装起来,在每次发送请求时只需要把参数传入,实现封装函数的调用就可以。
这样的话,每次请求都会变得简单优化,节省了很多行冗余的代码,不是嘛。。。。。
接下来,我把代码实例写在下面。
1、假设现在需要发送一个接口请求。
var fun;//定义一个载体。
fun.viewProducts(id).then((response) => {
//商品列表
this.productlist = response;
}).catch(error =>{
//失败的回调
})
2、此时需要定义一个viewProducts的函数,来实现请求接口的功能。
viewProducts(uid){
var url = '****';//接口的地址
return createRequestPromise({
url: url,
method:"POST",
data:{UserId:uid}
});
}
3、在上面的代码中函数传入ajax的参数,即实例化ajax的请求。接下来需要封装ajax的功能,把data、url、method、success、error都封装起来。
function createRequestPromise(options) {
if(!(options && options.url)) {
//没有请求地址的报错
}
$.ajax({
url: options.url,
method: options.method || "POST",
data: options.data || {},
dataType: 'json',
xhrFields: {
withCredentials: true
},
crossDomain: true,
success: function(response) {
//请求成功的回调
},
error: function(error) {
//请求失败的回调
}
});
}
当然,封装函数随自己的需求,可以更加个性化的定制。
返回的样式图片,返回的信息提示等都可以通过实例的时候传入(每次都可以不同),或者封装中加入(所有的回调都相同),这个时候就需要自己去改装了。
后期使用的时候,这个仅待参考。
封装ajax,让调用变得简单优化的更多相关文章
- 实现简单的PHP接口,以及使用js/jquery ajax技术调用此接口
主要介绍下如何编写简单的php接口,以及使用js/jquery的ajax技术调用此接口. Php接口文件(check.php): <?php $jsonp_supporter = $_GET[‘ ...
- Hibernate的简单封装Session(方便调用)
因为每次用增删改查时都需要用到hibernate的配置来生成session工厂进而生成session,比较麻烦,所以我们直接封装一个可以调用的类,需要的时候只需要调用即可. 新建一个Hibernate ...
- 04.封装ajax
<script> //封装ajax // 函数名 ajax // 函数的参数 // url: 请求的地址 // type: 请求的方式 get /post // data: 要上传的数据 ...
- 原生JS封装ajax方法
http://blog.sucaijiayuan.com/article/89 jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只 ...
- 前后端交互之封装Ajax+SpringMVC源码分析
为什么需要封装呢?因为用的多,我想将其封装成函数,当我想用它时,只需将那个函数对应的js文件引入即可,而不要重复写很多相同代码,利于开发效率的提高. 无论是$.ajax或$.post.$.get等,在 ...
- 封装ajax支持get、post
为什么要封装ajax,因为…… for(var i=0;i<20;i++){ $.ajax(……) } 的时候,整个页面都卡死了,于是,我开始找答案. 后来,找到了,就是jquery的ajax属 ...
- 封装Ajax和跨域
目录 引言 封装ajax 案例:使用自封装ajax 案例:动态加载瀑布流 跨域 引言 对于Ajax现在相信大家已经不会陌生了,无论是原生的XMLHttpRequest方式发送还是通过jQuery框架中 ...
- 【原创经验分享】JQuery(Ajax)调用WCF服务
最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...
- Rsession让Java调用R更简单
Rsession让Java调用R更简单 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒. ...
随机推荐
- JVM内存溢出时快照转存HeapDump到文件
# Heap Dump 获取方式使用 JVM 参数获取 dump 文件进入Tomcat的'bin'目录,在'catalina.sh'文件里添加如下内容 >-XX:+HeapDumpOnOutOf ...
- 通过Excel生成PowerDesigner表结构设计
说明:近期做部分表结构设计,在word里设计调整好了,需要整理到PowerDesigner中,但是手工录入太麻烦. 找了个工具(地址:http://www.cnblogs.com/hwaggLee/p ...
- 【原创】讲讲亿级PV的负载均衡架构
引言 本来没想写这个题材的,为了某某童鞋能够更好的茁壮成长,临时写一篇负载均衡的.负载均衡,大家可能听过什么3层负载均衡.4层负载均衡.7层负载均衡什么的?那这是怎么分的呢,ok,是根据osi七层网络 ...
- 区块链代币(Token)笔记 — — 术语
前言 接触区块链和数字货币差不多有大半年时间,一直在赶项目进度,现在有空整理补习一下相关的知识,只谈代币不谈区块链
- Outlook插件开发(非VSTO),欢迎交流
https://www.cnblogs.com/Charltsing/p/OutlookSample.html 联系QQ:564955427 最近写了个Outlook插件,实现了读取邮件联系人的功能, ...
- Win10 登陆密码不正确(安全模式仍然启动不了)
今天朋友重启Win10后,登陆密码显示不正确,是用了很多方法都不行 然后就瞎捣鼓就进去 进入BIOS将启动模式调为USB模式 重启启动不了后 再改回系统启动 就进去了(好神奇)
- UC和QQ两个主流浏览器 * 点击触发微信分享到朋友圈或发送给朋友的功能(转载)
转载(声明:仅供学习使用) /** * 此插件主要作用是在UC和QQ两个主流浏览器 * 上面触发微信分享到朋友圈或发送给朋友的功能 * 代码编写过程中 参考: * http://mjs.sinaimg ...
- 【win7】安装php7.3及扩展
php7.3插件php-redisphp-igbinaryphp-amqp [初识RabbitMQ,附RabbitMQ+PHP演示实例]https://www.cnblogs.com/miketwai ...
- ABP中的拦截器之AuditingInterceptor
在上面两篇介绍了ABP中的ValidationInterceptor之后,我们今天来看看ABP中定义的另外一种Interceptor即为AuditingInterceptor,顾名思义就是一种审计相关 ...
- 一、Swagger配置
一.Swagger配置 1.注解不显示 SwaggerConfig文件下 //c.IncludeXmlComments(GetXmlCommentsPath()): 内下面添加: c.Inclu ...