jqueryパッケージ非同期グローバル要求

1391 ワード

これはパッケージされた要求サービスであり、個別にjsとして導入され、Promise形式に戻り、使用することができます。
//       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);
})