PHP和AJAX将数据更新到数据库

马可:

我试图更新一个简单的字符串与数据库PHPAJAX

这是代码:

HTML

<form id="phoneNumberForm" class="form-inline" method="post" enctype="multipart/form-data">
    <div class="form-group mx-sm-3 mb-2 align-content-center">
          <label for="phoneNumber" class="sr-only">Phone</label>
          <input type="text" class="form-control" name="phoneNumber" id="phoneNumber" placeholder="Phone">
    </div>
    <button type="submit" name="phoneNumber_submit" id="phoneNumber_submit" class="btn btn-primary mb-2">Save</button>
    <div id="phoneSuccess"></div>
</form>

PHP

if (isset($_POST['phoneNumber_submit'])) {
    $phoneNumber = $_POST['phoneNumber'];
    $profileEditAdmin = $db->query('UPDATE users SET user_phone = ? WHERE user_name = ?', $phoneNumber, $_SESSION['user_name']);
}

AJAX

$('#phoneNumberForm').submit(function(e) {
    e.preventDefault();

    let phoneNumber = $('#phoneNumber').val();

    let $body = $("body");

    $(document).on({
         ajaxStart: function() { $body.addClass("loading"); },
         ajaxStop: function() { $body.removeClass("loading"); }
    });

    $.ajax({
        type: "POST",
        data: {
            phoneNumber:phoneNumber,
        },
        success: function() {
            $('#phoneSuccess').html('<p>Saved.</p>');
            setTimeout(function() {
                $('#phoneSuccess').fadeOut();
            }, 2000)
        }
    });
});

删除后,preventDefault()我会在数据库中获得该条目,但是页面已重新加载。

我的目标是在数据库中有一个条目,并避免页面刷新。

艾迪生:

您的PHP在这里寻找一个变量phoneNumber_submit

if (isset($_POST['phoneNumber_submit'])) {

但是在这里,您的AJAX仅发送一个名为的变量phoneNumber

data: {
  phoneNumber:phoneNumber,
}

显然,这两个名称不匹配,因此该if语句永远不会为真,并且查询将永远不会运行。当您不使用AJAX提交表单时name="phoneNumber_submit",该按钮就可以使用,因为您具有“提交”按钮,因此该值将发送到服务器。

因此,您可以:

1)将此值硬编码到您的data参数中:

data: {
  "phoneNumber": phoneNumber,
  "phoneNumber_submit": true
}

要么

2)只需让jQuery为您完成工作,然后使用序列化函数即可获取您已经在HTML中定义的所有值和名称,并将它们直接发送到服务器,而无需再次指定每个值和名称:

data: $(this).serialize() 

注意:由于您要处理表单的“提交”事件this,因此以上代码将成为您的<form>元素。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用php将数据从表单更新到数据库

Laravel:Ajax更新到数据库

无法将数据更新到数据库

如何将信息更新到数据库中?

无法将记录插入或更新到数据库jsp

laravel如何将字段更新到数据库

使用 InsertAllOnSubmit 将列表对象更新到数据库

PHP代码未将表单值更新到数据库

将帐户信息更新到数据库不起作用,PHP 错误:“调用成员函数”

使用PHP将多个HTML字段更新到MySQL数据库

PHP ajax不更新数据库

更新到数据库失败

如何更新到数据库

Doctrine 2将数据更新到数据库中,但未将数据更新到实体中

如何将数据从本地SQL Server数据库更新到联机SQL Server数据库?

Android 应用程序:从实时数据库到 Firestore - 将数据更新到数据库

单击按钮时将数据从 EditText Listview 更新到 firebase 数据库

连续添加| 更新| 将数据从数据库刷新到页面而无需回发

平均值:无法将数据更新到数据库

Java使用Spring异步将数据保存/更新到数据库中

将数据连接更新到 Visual Studio 17 上的最新数据库版本

使用JQuery AJAX和php将数据提取到mysql数据库

使用php和jquery ajax提交表单后无法将数据插入数据库

如何使用ajax和php将数据从数据库表放到html表

如何使用Jquery ajax和php将数据插入mysql数据库?

每当我更新gridview时如何将今天的日期更新到数据库

DTO使用Java,Dozer和Hibernate映射和更新到数据库

PHP将数据更新到SQL

PHP更新数据库