为什么会出现错误:
jQuery('#the_form').submit(function() {
jQuery.ajax({
url: 'stats.php?increment=true',
success: function() {
alert('Load was performed.');
},
error: function() {
alert('Load wasnt performed.');
}
});
return true;
});
并且没有(返回为假,其他一切都相同):
jQuery('#the_form').submit(function() {
jQuery.ajax({
url: 'stats.php?increment=true',
success: function() {
alert('Load was performed.');
},
error: function() {
alert('Load wasnt performed.');
}
});
return false;
});
如何在提交之前调用该脚本(对外部操作)?
答案 0 :(得分:5)
您已订阅表单的.submit
事件。在第一种情况下,您将返回true
,这意味着您将保留要运行的默认操作,即将表单提交到服务器并将浏览器重定向到stats.php
。因为浏览器会立即重定向,所以您的AJAX调用可能永远没有时间完成。
在第二种情况下,您将返回false
,这意味着您正在取消默认表单提交,而您正在发送一个AJAX请求,而该请求有足够的时间来执行。
答案 1 :(得分:0)
好吧,当你提交表单时,如果你在.submit()
方法中返回true,它将使浏览器实际提交数据而不是仅仅进行AJAX调用。由于您正在使用AJAX,因此您应该阻止表单的提交,因为您期望您的AJAX调用返回。