Jquery 使用Ajax方法成功执行一些操作
我有jqueryajax方法来调用MVC控制器动作。对于这个方法中的返回值,我想对if条件执行一些操作。此方法在“保存”按钮中调用。如果返回true,我想执行返回保存操作,如果返回false,我想显示验证 这是我的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
$(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,而应再次调用一个函数来处理您想要执行的操作。非常感谢。它起作用了。。