根据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函数,统一入口的更多相关文章

  1. 轻松搞定Ajax(分享下自己封装ajax函数,其实Ajax使用很简单,难是难在你得到数据后来怎样去使用这些数据)

    hey,guys!今天我们一起讨论下ajax吧!此文只适合有一定ajax基础,但还是模糊状态的同志,当然高手也可以略过~~~ 一.概念 Ajax(Asynchronous Javascript + X ...

  2. 使用promise手动封装ajax函数

    最近在做一个单页应用,node和浏览器仅通过json传输数据,因为是只有自己用等于是锻炼一下自己,所以也不用考虑seo的问题,node端我已经写好了,但是浏览器端想要用ajax原生太麻烦,用封装的函数 ...

  3. 封装ajax函数

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  4. 使用jquery再次封装ajax

    $.fn.ajaxSend = function (type, url, postdata, onSuccess) { $.ajax({ async: false, url: url, type: t ...

  5. 04.封装ajax

    <script> //封装ajax // 函数名 ajax // 函数的参数 // url: 请求的地址 // type: 请求的方式 get /post // data: 要上传的数据 ...

  6. 原生JS封装ajax方法

    http://blog.sucaijiayuan.com/article/89 jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只 ...

  7. 自封装ajax

    项目中有时候用不到jq,需要了解xmlhttp原理,自己写一套函数请求和发送数据! /* 封装ajax函数 * @param {string}opt.type http连接的方式,包括POST和GET ...

  8. ajax 原生js封装ajax [转]

    /* 封装ajax函数 * @param {string}opt.type http连接的方式,包括POST和GET两种方式 * @param {string}opt.url 发送请求的url * @ ...

  9. ajax的再次封装!(改进版) —— new与不 new 有啥区别?

    生命不息重构不止! 上一篇写了一下我对ajax的再次封装的方法,收到了很多有价值的回复,比如有童鞋建议用$.extend,一开始还以为要做成插件呢,后来才知道,原来这个东东还可以实现合并.省着自己再去 ...

随机推荐

  1. linux模范配置文件格式

    模范配置文件 #--------------------------------------------------------------------- # Global settings #--- ...

  2. webstorm vue eslint 自动修正配置

    原文:https://medium.com/@netczuk/even-faster-code-formatting-using-eslint-22b80d061461 https://stackov ...

  3. Python中两大神器&exec() &eval()

    一.神器1 -- 内置函数eval eval是python中的内置函数,它的作用是将字符串变为所对应的表达式,也相当于一个功能代码加双引号变为字符串,而eval又将字符串转为相应的功能,它在使用过程中 ...

  4. dp思维

    题目传输门 题意:有n个房间,m个诅咒,每个房间有一个数值,刚开始有一个初始值,每次进入一个房间可以选择消除诅咒或者不消除,消除诅咒只能顺序消除,消除诅咒就是拿初始值和房间的数值做运算,求最后最大的数 ...

  5. Pytest初体验

    Pytest安装,导入相关依赖哭 Pip3 install –U pytest U表示升级 Pip3 install pytestsugar pip3 install pytest-rerunfail ...

  6. kali环境配置

    1.配置源及刷新软件列表 建议用官方默认源: # vi /etc/apt/sources.list deb http://http.kali.org/kali kali-rolling main no ...

  7. what codes does sudo command do in Linux?

    sometime, to make your change of configuration file be effective to web application, we have to rest ...

  8. oracle运维(持续更新)

    目录 简单命令使用 进入SQL*Plus 退出SQL*Plus 在sqlplus下得到帮助信息 显示表结构命令 DESCRIBE SQL*Plus 中的编辑命令 调用外部系统编辑器 运行命令文件 关于 ...

  9. SQL索引操作

    1. 创建索引 create index 索引名 on 表名(列名); 2. 删除索引 drop index 索引名; 3. 创建组合索引 create index 索引名 on 表名(列名1,,列名 ...

  10. nginx 自启动

    转载:https://www.cnblogs.com/cxscode/p/8262319.html 安装Nginx 下载windows版nginx (http://nginx.org/download ...