小编典典

AJAX:提交表单而不刷新页面

ajax

我的表单类似于以下内容:

<form method="post" action="mail.php" id="myForm">
   <input type="text" name="fname">
   <input type="text" name="lname">
   <input type="text" name="email">
    <input type="submit">
</form>

我是AJAX的新手,我要完成的工作是当用户单击“提交”按钮时,我希望mail.php脚本在后台运行而不刷新页面。

我尝试了类似下面的代码的方法,但是,它似乎仍然像以前一样提交表单,而不像我所需要的那样(在幕后):

$.post('mail.php', $('#myForm').serialize());

如果可能的话,我想获得使用AJAX实施此功能的帮助,

提前谢谢了


阅读 624

收藏
2020-07-26

共1个答案

小编典典

您需要阻止默认操作(实际提交)。

$(function() {
    $('form#myForm').on('submit', function(e) {
        $.post('mail.php', $(this).serialize(), function (data) {
            // This is executed when the call to mail.php was succesful.
            // 'data' contains the response from the request
        }).error(function() {
            // This is executed when the call to mail.php failed.
        });
        e.preventDefault();
    });
});
2020-07-26