![](/img/trans.png)
[英]Javascript function, calls another function, but return false doesn't stop
[英]Return false doesn't stop the code in ajax $.post
我使用$.post
执行ajax请求,这是我的代码:
$.post(postUrl, postData, function(response)
{
if(response.status == "SUCCESS")
{
updateConfirmFrame();
}
else
{
return false;
}
}, 'json');
现在,如果响应返回SUCCESS
则代码将继续调用用于解锁某些控件的函数,但是如果处理了异常,则应阻止代码。 现在,我将警报return false;
条件,并且警报已正确打印,但是,返回false不会停止代码。 我不希望代码继续执行。 我也尝试使用throw Exception
但是不起作用。 我究竟做错了什么?
更新
$.post(postUrl, postData)
.done(function(response)
{
if(response.status == "SUCCESS")
{
updateConfirmFrame();
}
else
{
alert("error"); //The problem is here
return false;
}
})
.fail(function(err)
{
return false;
});
alert("hi wor")
使用:
$.post(url, postdata)
.done(function(response) {
})
.fail(function(err) {
// error
});
您使用的语法是$.post(postUrl, postData, success_callback, fail_callback);
return
语句仅返回它们所在的函数,从而停止该函数中的进一步代码执行。 它们通常不会停止JS代码的执行。
您说的警报语句不应运行,因为完成后return false;
在函数中不返回false。 不会受到其他某些函数返回false的事实的影响。 它绝对应该运行。
最重要的是,您的帖子调用的成功功能是事件回调。 它是已创建的,但是直到文件的实际加载发生后才运行,这将在ajax之外的其他代码完成很长时间之后进行。 因此,在该警报发生之前,该函数中的代码甚至都不会执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.