再次封装ajax函数,统一入口
根据API写网页的时候,每个页面都需要ajax请求,每次都写一大堆请求,配置什么的太麻烦,于是打算封装一个ajax函数,统一调用:
开始时是使用return返回ajax,如下:
function createAjax(ajaxrequire) {
_url = ajaxrequire._urls;
_dataType = ajaxrequire._dataType;
_async = ajaxrequire._async
_method = ajaxrequire._method;
_data = ajaxrequire._data;
_data.token = token;
_data.device = 'weixin';
return $.ajax({
url: _url,
dataType: _dataType,
cache: false,
async: _async,
type: _method,
data: _data,
timeout:10000,
error:function(data){
mui.alert(data.msg);
}
});
}
在如下Ogoods变量中填好需要的参数内容,然后就可以直接调用了
var Ogoods = {
_urls:'api地址',
_data:{ },
_method:'post',
_dataType:'json',
_async:false
};
var data = JSON.parse(createAjax(Ogoods).responseText);
变量data中保存着ajax请求返回的数据,但是这个方法有个bug,就是不能使用异步,当 async为true时会报错,也不知道是不是只是我写的有问题,
于是考虑着还能不能用其他方式实现,嗯,写个回调函数应该就行了,
$packageAjax = function (ajaxrequire,callback) {
_url = ajaxrequire._urls;
_dataType = ajaxrequire._dataType;
_async = ajaxrequire._async
_method = ajaxrequire._method;
_data = ajaxrequire._data;
_data.token = token;
_data.device = 'weixin';
$.ajax({
url: _url,
dataType: _dataType,
cache: false,
async: true,
type: _method,
data: _data,
timeout:10000,
success:function(data){
callback(data);
},
error:function(data){
mui.alert(data.msg);
}
});
}
调用:
var Ogoods = {
_urls:'api地址',
_data:{ },
_method:'post',
_dataType:'json',
_async:true
};
$packageAjax(Ogoods,function(data){
//执行操作
})
这样ajax设为异步就没什么问题了,并且也不必每次都写配置选项了,很简单,却也实用。
再次封装ajax函数,统一入口的更多相关文章
- 轻松搞定Ajax(分享下自己封装ajax函数,其实Ajax使用很简单,难是难在你得到数据后来怎样去使用这些数据)
hey,guys!今天我们一起讨论下ajax吧!此文只适合有一定ajax基础,但还是模糊状态的同志,当然高手也可以略过~~~ 一.概念 Ajax(Asynchronous Javascript + X ...
- 使用promise手动封装ajax函数
最近在做一个单页应用,node和浏览器仅通过json传输数据,因为是只有自己用等于是锻炼一下自己,所以也不用考虑seo的问题,node端我已经写好了,但是浏览器端想要用ajax原生太麻烦,用封装的函数 ...
- 封装ajax函数
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...
- 使用jquery再次封装ajax
$.fn.ajaxSend = function (type, url, postdata, onSuccess) { $.ajax({ async: false, url: url, type: t ...
- 04.封装ajax
<script> //封装ajax // 函数名 ajax // 函数的参数 // url: 请求的地址 // type: 请求的方式 get /post // data: 要上传的数据 ...
- 原生JS封装ajax方法
http://blog.sucaijiayuan.com/article/89 jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只 ...
- 自封装ajax
项目中有时候用不到jq,需要了解xmlhttp原理,自己写一套函数请求和发送数据! /* 封装ajax函数 * @param {string}opt.type http连接的方式,包括POST和GET ...
- ajax 原生js封装ajax [转]
/* 封装ajax函数 * @param {string}opt.type http连接的方式,包括POST和GET两种方式 * @param {string}opt.url 发送请求的url * @ ...
- ajax的再次封装!(改进版) —— new与不 new 有啥区别?
生命不息重构不止! 上一篇写了一下我对ajax的再次封装的方法,收到了很多有价值的回复,比如有童鞋建议用$.extend,一开始还以为要做成插件呢,后来才知道,原来这个东东还可以实现合并.省着自己再去 ...
随机推荐
- option click事件
$("#m-s-type").on("change",function(){ var id = $(this).find("option:select ...
- GF学习未解之谜
1.很奇怪事件管理器里面的用到的订阅事件里面的ID是通过typeof(xxx).GetHashCode()得到的,怎么解决id重复的问题? 2.log系统里面是不是直接全部当做多参数解决问题比较好?
- MFS分布式文件系统【4】客户端的挂载MFS存储空间
挂载基于MooseFS 分布式文件,客户端主机必须安装FUSE软件包(FUSE版本号至少2.6,推荐版本号大于2.7的fuse) [root@master ~]# rpm -qa|grep fuse ...
- webstorm vue eslint 自动修正配置
原文:https://medium.com/@netczuk/even-faster-code-formatting-using-eslint-22b80d061461 https://stackov ...
- 《深入理解Java虚拟机》- 重载与重写
这一节打算从“方法调用”的主题进行分析. 方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不设计方法内部的具体运行过程. 一.概念 解析调用:所有 ...
- linux6查看时间同步服务器的匹配源
当服务器时间与设定好的同步时间源的时间有差异的时候,一般都需要先查看本机的时间同步服务功能是否在正常的运转,以及同步的时间源是哪里,在这里为大家提供一个检查时间用的命令. linux/centos 6 ...
- 笔记44 Hibernate快速入门(一)
一.Hibernate简介 Hibernate 是传统 Java 对象和数据库服务器之间的桥梁,用来处理基于 O/R 映射机制和模式的那些对象. Hibernate 架构是分层的,作为数据访问层,你不 ...
- day01 python起源 介绍 解释器 变量 流程控制if
day01 python 一.python的起源 1.python简介 java 企业级应用, android, app c 操作系统, 做开发语言的, 游戏的内核 ...
- CSIC_716_20191203【 socket网络编程,以及沾包问题的高级解决方式】
AF_UNIX(本机通信) AF_INET(TCP/IP – IPv4) AF_INET6(TCP/IP – IPv6) SOCK_STREAM(TCP流) SOCK_DGRAM(UDP数据报) 远程 ...
- JavaScript ---- 闭包(什么是闭包,为什么使用闭包,闭包的作用)
经常被问到什么是闭包? 说实话闭包这个概念很难解释.JavaScript权威指南里有这么一段话:“JavaScript函数是将要执行的代码以及执行这些代码作用域构成的一个综合体.在计算机学术语里,这种 ...