如何在ajax调用中停止表单提交

vik*_*ute 1 javascript ajax jquery

我只能修改ajax中的代码调用当我单击名为$('#form1')的表单中的提交时发出的ajax调用

$('#form1').submit(function () {
    $.ajax({
       url: 'some.php',
       type: 'POST',
       data: somedata,
       success: function (msg) {
          if (!msg) {
             // I wanna to stop '#form1' submit here,how to do that? I can only modify the code in the ajax call.
          }
       }
    });
 });
Run Code Online (Sandbox Code Playgroud)

Joh*_*ven 8

你需要在成功处理程序之前停止它.因为该函数在您的AJAX调用之后完成执行,所以在您的ajax调用发生时将提交表单(并且当您的ajax调用完成时为时已晚).

但是,是的,在函数结束时返回false.

function SubmitHandler(){
  // Your AJAX call here
  // blah blah blah

  return false;  // Stop form submit
}
Run Code Online (Sandbox Code Playgroud)

如果它在成功处理程序中非常重要,那么您可以同步执行调用.