请教:JavaScript中写ajax请求如何复用代码

发布于 2022-09-01 19:53:42 字数 309 浏览 22 评论 0

正在做订单列表,需要为不同订单状态的查询、上提加载等操作写ajax请求,这些请求大部分代码都一样,只在个别参数还有回调函数中的一处地方有不同:
图片描述

我要写很多个请求,这样复制粘贴感觉很麻烦,以后如果拼接内容有变动,我还得改每处代码,不知道有没有什么方法能简化代码、复用代码。。。想过用eval()函数,把ajax请求拼接成字符串,但涉及好多层引号,拼不对、、

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

没有你我更好 2022-09-08 19:53:42

使用 promise 封装请求 百度一下 你就知道

蘑菇王子 2022-09-08 19:53:42

不知道这样可否解决你的需求:
封装公用Ajax函数,比如Like This:

var Common = {
        ajax: function(data,fn,async){
            if(typeof(async)==undefined){
                async = true;
            }
            fn = _.isFunction(fn) ? fn : function(data){console.log("data arrived,with no callback:",data);}

            $.ajax({
                type : "POST",
                url : window.location,
                async: async,
                dataType : "json",
                data : data,
                beforeSend : Common.loadShow,
            })
            .always(Common.loadHide)
            .done(fn)
        }
        , loadShow: function(){
                //do sth
            }
        }
        , loadHide : function(){
            ////do sth
        }
    }

使用Like This:
var requestData = "..."; //根据不同状态,做下区别即可;为了复用,也可封装成函数,用函数返回值即可。
Common.ajax( requestData , function(data){...});
如需复用请求成功的处理函数,您也可以将这里回调的匿名函数做下封装。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文