Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用Ajax方法成功执行一些操作_Jquery_Ajax_Asp.net Mvc - Fatal编程技术网

Jquery 使用Ajax方法成功执行一些操作

Jquery 使用Ajax方法成功执行一些操作,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,我有jqueryajax方法来调用MVC控制器动作。对于这个方法中的返回值,我想对if条件执行一些操作。此方法在“保存”按钮中调用。如果返回true,我想执行返回保存操作,如果返回false,我想显示验证 这是我的Ajax方法: $(function () { $('#saveRefund').on('click', function (event) { event.preventDefault(); var userName = $('#userN

我有jqueryajax方法来调用MVC控制器动作。对于这个方法中的返回值,我想对if条件执行一些操作。此方法在“保存”按钮中调用。如果返回true,我想执行返回保存操作,如果返回false,我想显示验证

这是我的Ajax方法:

   $(function () {
    $('#saveRefund').on('click', function (event) {
        event.preventDefault();
        var userName = $('#userName').val();
        var password = $('#Password').val();

        var sucess = setRefundformValidation()
        if (sucess) {
            $.ajax({
                type: 'POST',
                url: '/Service/Utility/IsLoginSucess',
                data: { userName: userName, password: password },
                success: function (data) {
                    debugger;
                    if (data == 0) {
                        $('#loginVal_').show();
                        return false;
                    }
                    else {
                        $('#loginVal_').hide();
                        return true;
                    }

                }
            });
        }
        else
        { return false; }

    });
});
考虑一下这个函数 如果(数据==0)显示验证

如果(数据!=0)返回表单操作

如果返回true,则不会重定向到控制器中的保存操作


请对此提供帮助,因为ajax是异步的,所以返回true/return false在ajax调用中不起作用,每次都会返回false

Asynchronous意味着它不会等待成功的结果,而是在整个ajax调用之后直接通过它处理代码,这意味着每次都会返回默认值return false。当您的成功返回true时,函数已经返回false,从而阻止了进一步的操作


如果为true,则不应返回true,而应调用一个函数来执行您想要执行的操作;如果为false,则不应返回false,而应再次调用一个函数来处理您想要执行的操作。

非常感谢。它起作用了。。