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

标签 javascript jquery 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 实现此功能的帮助,

提前致谢

最佳答案

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

$(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();
    });
});

关于javascript - AJAX:提交表单而不刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14235596/

相关文章:

javascript - 如何在asp.net中的按钮单击OnClientClick上将文本框id传递给JavaScript

javascript - 从jquery添加的html控件触发asp.net事件

javascript - 可以为 jquery.ajaxSetup() 设置范围吗?

javascript - JQuery 选择器在 Ruby on Rails 中由 Ajax XHR 创建的表中的元素上找不到类

javascript - 在 Meteor 中,如何将应用程序的根 url 动态附加到图像路径?

javascript - 如何迭代 <thead><tr> 中的一些 TH 元素

javascript - OSM API Way 节点顺序错误

javascript - 在网络应用程序上收到短信时收到通知

jquery - 将 js-objects 层次结构传递给 Controller

javascript - Codeigniter 路由。使用 javascript AJAX 获取参数