代码复用 - 请教:JavaScript中写ajax请求如何复用代码
高洛峰
高洛峰 2017-04-10 16:06:50
[JavaScript讨论组]

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

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
PHP中文网

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

PHP中文网

不知道这样可否解决你的需求:
封装公用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){...});
如需复用请求成功的处理函数,您也可以将这里回调的匿名函数做下封装。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号