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

Get Response of another javascript function in a javascript function

本文关键字:函数 javascript 响应 获取 另一个      更新时间:2023-09-26

我有两个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;           
}

使用回调函数可以轻松实现这一点。

   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.htmlhttp://issacjk.blogspot.in/2014/08/callback-functions-in-javascript.html

为什么不使用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;   
    }      
}

这对我来说很好。