在javascript函数中获取另一个javascript函数的响应

时间:2015-03-27 06:13:13

标签: javascript jquery asp.net

我有两个java脚本函数。在一个函数中,我调用了另一个函数。它的工作正常。但问题是第一个函数没有得到第二个java脚本的响应。我有要求如果第一个函数返回true然后第二个函数将执行rest代码。

我的代码。

function NextData() {           
        var lQIndex = $('#hfLastQIndex').val();  
        if (SaveData(lQIndex)) {
            alert('1111111');
            //Rest Code....
        }            
}

function SaveData(QNo) {   
        var flag = false;
         $.ajax({
            url: '/Assessment/Save',
            type: 'POST',
            data: {A:QNo},
            async: false,
            success: function (data) {
                //alert("Test: " + data.result);
                if (data.result == "T")
                    flag = true;                   
            },
            error: function (req, status, error) {
                //alert("R: " + req + " S: " + status + " E: " + error);
                alert('Unable to connect server!');   
                return false;                 
            }
        }); 
       return flag;           
}

2 个答案:

答案 0 :(得分:2)

使用回调功能,您可以轻松实现此目的。

   function NextData() {           
            var lQIndex = $('#hfLastQIndex').val();  
            SaveData(lQIndex,function(result){
                   //rest code----
                   //result will be either true/false
            });
    }

    function SaveData(QNo, successCallback) {   
            var flag = false;
             $.ajax({
                url: '/Assessment/Save',
                type: 'POST',
                data: {A:QNo},
                async: false,
                success: function (data) {
                    //alert("Test: " + data.result);
                    if (data.result == "T")
                        flag = true;  
                      successCallback(flag);
                },
                error: function (req, status, error) {
                    //alert("R: " + req + " S: " + status + " E: " + error);
                    alert('Unable to connect server!'); 
                   flag = false;  
                    successCallback(flag);                 
                }
            }); 
           return flag;           
        }

http://gireeshsb.blogspot.in/2013/08/callback-functions-in-javascript.html http://issacjk.blogspot.in/2014/08/callback-functions-in-javascript.html

答案 1 :(得分:1)

为什么不使用DataType JSON?

function NextData() {           
    var lQIndex = $('#hfLastQIndex').val();  
    if (SaveData()) {
        alert('1111111');
        //Rest Code....
    }            
}

function SaveData(QNo) { 
    var flag = false;
    var res = $.ajax({
        url: 'save.php',
        type: 'POST',
        data: { A : QNo },
        dataType: 'json',
        async: false,
        success: function (data) {
            console.log(data.result);
            //alert("Test: " + data.result);
            if (data.result == "T")
                flag = true;                   
        },
        error: function (req, status, error) {
            //alert("R: " + req + " S: " + status + " E: " + error);
            alert('Unable to connect server!');   
            return false;                 
        }
    }); 
    if(res){
        return flag;   
    }      
}

它为我工作..