ajax请求的时候后台有三个服务器地址

有些公司出于安全考虑,会有多台服务器。当第一台服务器请求有问题会转移第二台、第三台发送请求,类似于故障转移。

今天遇到一个需求,ajax的请求地址不是一个而是三个,这就要求在ajax请求的时候配置三个地址,在第一个地址调用失败,调用第二个、第三个地址

思路:定义一个变量计算请求失败的次数,  在请求失败的时候再调用自身并传入对应的url地址参数, 改掉url, 然后再重新请求

    var ajaxUrl = {
        defaultService:'http://xx.xx.xx.2:10001'; //默认服务器地址
        service1:'http://xx.xx.xx.3:10001'; //第二台服务器地址
        service2:'http://xx.xx.xx.4:10001'; //第三台服务器地址  
    };
    var errorCount = 0;
    function getMerchantPUb(getUrl = ajaxUrl.defaultService){
        $.ajax({
            type:"post",
            url:getUrl+"/parking/searchPublicKey",
            headers: {'Content-Type': 'application/json'},
            data:parkingId,     
            success:function(data){    
                //成功后的操作
            }, 
            error: function(data,type){
                errorCount++;
                /*第一次调用失败*/
                errorCount ===1 && getMerchantPUb(ajaxUrl.service1) 
                
                /*第二次调用失败*/
                errorCount ===2 && getMerchantPUb(ajaxUrl.service2) 
                console.log("错误类型是:"+type);
                console.log(data)
            }
        });
    }

 

posted @ 2021-04-02 09:50  海绵宝宝y  阅读(308)  评论(0编辑  收藏  举报