• 封装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的。

  • 相关阅读:
    iOS开发-文件管理(一)
    浅析栈区和堆区内存分配的区别
    浅谈Block传值-匿名函数(代码块)
    cell的各种使用和赋值 总结
    类方法和对象方法的区别
    属性传值 ,代理传值,单例
    类目,延展,协议
    任意点 并查集
    Codeforces 145E. Lucky Queries 线段树
    Codeforces 103B. Cthulhu 并查集运用
  • 原文地址:https://www.cnblogs.com/studyshufei/p/8040135.html
Copyright © 2020-2023  润新知