jquery封装异步全局请求

这是一个封装过的请求服务可单独用作为一个js引入,返回为Promise形式,使用.then调用

// 声明一个全局Http请求
window.httpService = {
    //通过访问来源,设置不同的服务器
    getUrl: function() {
        var myUrl = window.location.href;
        var masUrlConfig = {
            "127.0.0.1": "http://192.168.1.197:8081/",
        };
        var masUrl = "";
        for (var i in masUrlConfig) {
            if (myUrl.indexOf(i) >= 0) {
                masUrl = masUrlConfig[i];
            }
        }
        return masUrl;
    },
    /**
     * [httpServer 请求服务]
     * @param  {[type]} url    [url请求链接]
     * @param  {[type]} params [参数]
     * @param  {[type]} types  [请求方式,默认为post]
     * @return {[type]}        [返回的结果]
     */
    httpServer: function(url, params, types) {
        var deffer = $.Deferred();
        $.ajax({
            url: this.getUrl() + url, // 请求接口
            data: params,
            type: types || 'post',
            cache: true,
            success: function(data) {
                deffer.resolve(data);
            },
            error: function(data) {
                deffer.reject(data);
                console.log(data);
                alert("數據異常");
            }
        });
        return deffer.promise();
    }
};

使用方式

httpService.httpServer(url,params).then(function(data){
    console.log(data);
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容