0

我编写了以下代码来使用jQuery发布数据,它工作正常,但是没有return false;,代码不起作用,我在搜索了 1 天后发现了这个返回语句......

有人可以告诉我,return false;结束后有什么用$.post
我是jQuery的新手,希望对此有更好的理解。

$("#formid").submit( function () {    
  $.post(
   'ajax.php',
    $(this).serialize(),
    function(data){                 
       $("#result").html(data);
       $("#result").fadeIn('slow');
    }
  );
  return false;   
}); 
4

4 回答 4

2

这里return false;不用于 AJAX 的 $.post 方法,而是用于防止 form( #formid) 提交,这可以取消您的 AJAX 请求

于 2012-07-25T05:09:58.817 回答
2

如果您删除return false;,您将看到浏览器继续提交表单(不使用 AJAX)。返回 false 将阻止浏览器执行默认操作,从而导致仅发生 AJAX 调用。

preventDefault()通过调用传递给提交事件的事件对象可以获得类似的结果。

例如:

$("#formid").submit( function (event) {    
      $.post(
       'ajax.php',
        $(this).serialize(),
        function(data){                 
           $("#result").html(data);
           $("#result").fadeIn('slow');
        }
      );
    event.preventDefault();   
});  
于 2012-07-25T05:10:19.223 回答
0

return false实际上是在阻止表单提交的默认操作。如果您不写该声明,则您的表单将被提交。

于 2012-07-25T05:11:12.043 回答
0

Return false 会在用户单击提交按钮时停止执行默认表单操作。只执行 jQuery 部分。否则,整个页面将在表单提交时重新加载。

您可以在 jQuery API 的.submit()页面上阅读相关内容。

有以下一段:

当表单提交时,消息会被提醒。这发生在实际提交之前,因此我们可以通过在事件对象上调用 .preventDefault() 或从我们的处理程序返回 false 来取消提交操作。当点击另一个元素时,我们可以手动触发事件:

于 2012-07-25T05:13:12.890 回答