zoukankan      html  css  js  c++  java
  • 利用Promise封装jquery ajax

    一、源码

    ;(function ($) {
      let request = function(url,method,params,body=false){

        return
    new Promise((resolve, reject) =>{ let aj = { url: url, method:method, dataType:'json', success(returnData) { resolve(returnData); }, error(error){ reject(error); } }; if (body == true){ aj.contentType = 'application/json';
              if(params){
                aj.data = JSON.stringify(params);
              } }else {
              if(params){ aj.data
    = params;
              } } $.ajax(aj); }); } window.$ajax
    = { get(url,params){ return request(url,'GET',params); }, post(url,params,body=true){ return request(url,'POST',params,body); }, put(url,params,body=true){ return request(url,'PUT',params,body); }, delete(url,params,body=true){ return request(url,'DELETE',params,body); } } })(jQuery);

    二、使用

    let api = '请求地址';
    //查询
    let params = {
         name:"张三",
         age:21 
    };
    
    $ajax.get(api,params).then(returnData => {
          console.log(returnData);
    }).catch(error => {
          console.log(error);
    })
    
    
    //根据id获取
    let id = "记录id";
    $ajax.get(api+'/'+id).then(returnData => {
          console.log(returnData);
    }).catch(error => {
          console.log(error);
    });
    
    
    //修改实体
    let form= {
         id:id,
         name:"李四",
         age:21 
    };
    $ajax.put(api,form).then(returnData => {
          console.log(returnData);
    }).catch(error => {
           console.log(error);
    })
    
    
    //添加实体
    let form= {
         name:"王五",
         age:18
    };
    $ajax.post(api,form).then(returnData => {
          console.log(returnData);
    }).catch(error => {
          console.log(error);
    })
    
    
    //删除
    let list = [1,2,3]; //id列表
    $ajax.delete(api,list).then(returnData => {
          console.log(returnData);
    }).catch(error => {
          console.log(error);
    });
  • 相关阅读:
    MySQL新建用户,授权,删除用户,修改密码
    apache 压力测试
    wordpress设置导航栏
    关于PYTHON_EGG_CACHE无权限的问题
    ora 32021 设置参数时参数值长度超过255处理办法
    关于四字节字符入库时错误的解决方案(Incorrect string value: 'xF0x9Fx99x8F' for column 'Reply_Content' at row 1)
    Oracle Text Slowly
    Oracle Split Partitions
    下载有时失败
    Sytem 表空间很大
  • 原文地址:https://www.cnblogs.com/xiaogblog/p/13730737.html
Copyright © 2011-2022 走看看