封装ajax

<div></div>
<button id="submit">提交</button>
<script type="text/javascript">
;(function($,window,document,undefined){
      //jquery原型扩展
        $.extend({
          /*
            url:请求地址
            type:请求类型
            dataType:数据类型
            data:请求数据
            btnSet:请求发起按钮,{id:按钮id,beforeText:点击前显示的文字,afterText:请求中显示的文字}
            successFun:成功
           */
            getAjax:function(url,type,dataType,data,successFun,errorFun,btnset){
              var _this=this;
              return $.ajax({
                url: url,
                type: type,
                dataType: dataType || 'json',
                data: data,
                beforeSend:function(){
                  if (btnset && btnset.$btn) {
                    var btn = btnset.$btn;
                    btn.html(btnset.afterText || '').prop('disabled', true);
                  }
                },
                complete:function(){
                  setTimeout(function(){
                    if(btnset && btnset.$btn){
                      var btn=btnset.$btn;
                      btn.html(btnset.beforeText || '').prop('disabled',false)
                    }
                  },1000)
                },
                success:function(data){
                  successFun && successFun(data)

                },
                error: function (xhr, st, msg) {
                    var errormsg;
                    if (_this.serverConfig.status[st]) {
                        errormsg = _this.serverConfig.status[st];
                    } else {
                        errormsg = '请求失败';
                    }
                    if (errormsg && errorfunc) errorfunc(errormsg);
                }
              })
            }
        })
    })(jQuery,window,document);
//调用 (这个例子的url 地址可能编译有些问题,可以直接换成你的正确的接口地址)
$.getAjax("https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=1"
  ,'get'
  ,{'wd': 1}
  ,function(json){
      console.log(JSON.stringify(json))
        layer.msg('成功');
        $('div').html(JSON.stringify(json))
      
    }
  ,function(error){
      layer.msg('失败')
    }
  ,{
      $btn:$('#submit'),
      beforeText:'显示列表',
      afterText:'正在请求'
  })
</script>
posted @ 2017-08-11 16:39  Yuanzz-0816  阅读(248)  评论(0编辑  收藏  举报