鍍金池/ 問答/HTML/ 關(guān)于JS中AJAX返回不同的參數(shù),調(diào)用不同的function的JS方法如何正確實

關(guān)于JS中AJAX返回不同的參數(shù),調(diào)用不同的function的JS方法如何正確實現(xiàn)

目前有這樣一個需求,就是進入頁面,先調(diào)用一個ajax接口,然后根據(jù)返回的參數(shù)不同,來去調(diào)用不同的JS的function 方法去處理,如下例子:

function chargeMoney(){
    $.ajax({
        type: "GET",
        url: url,
        cache:false,
        timeout: 5000,
        dataType: "json",
        success: function(data) {
            if (data.code == '0000') {
                var freeWithdraw = data.data.freeWithdraw; 
                // 根據(jù)此返回參數(shù)判斷,調(diào)用不同function方法

                if(freeWithdraw < 0){
                    function checkBalance(obj){
                        方法一
                    }
                }else{
                    function checkBalance(obj){
                        方法二
                    }
                }
            }else if(data.code == '3003'){
                layer.alert(data.desc, {icon: 5}, function(){
                    window.location.href="/user/login.php"
                });
            } else {
                layer.alert(data.desc);
            }
        },
        error: function(data) {
            layer.alert(data.desc);
        }
    });
}

如上,但是在實際中:

<input type="text" name="money" class="form-control" id="money" onkeyup="checkBalance(this)">

調(diào)試時候報錯:
Uncaught ReferenceError: checkBalance is not defined at HTMLInputElement.onkeyup

請問如何正確實現(xiàn)呢?求指教

回答
編輯回答
鐧簞噯

建議你不要通過這種方式,你可以通過id獲取到你的元素

document.getElementById('money').onkeyup = checkBalance = function(obj){
                    方法一
                }
2018年7月5日 16:40
編輯回答
終相守

開始聲明一個函數(shù)

function checkBalance() {}

然后在請求完之后

if(freeWithdraw < 0){
                 checkBalance = function(obj){
                        方法一
                    }
                }else{
                    checkBalance = function(obj){
                        方法二
                    }
                }
2018年1月15日 23:26