zoukankan      html  css  js  c++  java
  • 封装ajax

    最近做项目的时候,遇到的问题大多都是关于ajax传输数据获取数据后的一个处理。为此,我遍历百书,寻遍度娘,也没能找到一个能为我所用的。无奈之下,自己总结各方经验,自己封装了ajax,一个是promise+JQ,另一个是直接封装jQ的ajax。

    promise+JQ+ajax:

     1 function postJSON(url, data) {
     2    return new Promise( (resolve, reject) => {
     3       $.ajax({
     4           type:'post',
     5           ur:url,
     6           data:data,
     7           dataType:'json',
     8           success:function(result){
     9               resolve(result);
    10           },
    11           error:function(error){
    12               reject(error);
    13           }
    14       })
    15    })
    16 }
    17 
    18 postJSON(url, data)    // => 这里面是就try
    19 .catch( error => {
    20   // dosomething          // => 这里就是catch到了error,如何处理error以及返还合适的值
    21 })
    22 .then( result => {
    23   // dosomething          // 这里就是final
    24 })

    JQuery+ajax:

     1 var publicAjax={
     2     method:function(type,url,data,success,error){
     3             $.ajax({
     4               type:type,
     5               ur:url,
     6               data:data,
     7               dataType:'json',
     8               success:function(result){
     9                   success&&success(result);
    10               },
    11               error:function(err){
    12                   error&&error(err);
    13               }
    14           })
    15     }
    16 }
    17 
    18 publicAjax.method(type,url,data,success,error);
    19 
    20 function success(result){
    21 
    22     //接收数据成功
    23 
    24 }
    25 
    26 function error(err){
    27     
    28     //接收数据失败
    29 }

    虽然封装的不是很好,但是实用,并且把业务逻辑分离出来,单独编写,个人觉得还是OK的。

  • 相关阅读:
    特殊方法(双下方法)
    反射
    属性
    类方法、静态方法
    封装
    python接口类,抽象类
    Yii2基本概念之——事件(Event)
    Yii2基本概念之——行为(Behavior)
    yii2 migrate 数据库迁移的简单分享
    Yii2.0 RESTful API 之速率限制
  • 原文地址:https://www.cnblogs.com/studyshufei/p/8040135.html
Copyright © 2011-2022 走看看