【问题标题】:Update database without refresh when making change to form field更改表单字段时更新数据库而不刷新
【发布时间】:2016-08-23 18:50:21
【问题描述】:

所以,我在名为 player 的表中有一行。我希望能够更新字段:“名称”。

在前端,我已经显示了一个表单文本输入字段,其值已经自动设置为表中 Name 的当前值。我给了这个 id="currentName"。

使用 Javascript、AJAX 和 JQuery(或任何类似的东西)我希望能够在用户更改此字段的内容时自动更新数据库中的 Name 值。

我查看了其他资源,但由于我对其中许多语言都不熟悉,因此我很难在我的上下文中做到这一点。

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript jquery ajax database refresh


    【解决方案1】:

    使用 jquery ajax,您可以将更改事件绑定到该字段,然后使用 ajax 使用该值更新该表。现在有两种验证输入的方法,您可以在用户失去焦点时使用 .blur 检查值是否已更改,或者您可以处理后端检查。

    $("#currentName").change(function(){
            $.ajax({
                        type: "POST",
                        url: "~/yoururl/functions.php",//your url here
                        data: $(this).val(),  //this is the current value that was changed
                        dataType: 'json',
                        success: function(response) {
                            console.log("success");
                        },
                        error: function(response) {
                            console.log(response);
                        }
                    });
        });
    

    //流程清晰

    【讨论】:

    • 感谢您的回复!那么你给我的例子中的url的目的是什么?试图让我的头脑围绕它。谢谢。
    • 好的,如果您使用 ac# 或某种 web api,那么 url 就是您将数据发布到(后端)的位置,您会将其发布到处理业务逻辑的 web 方法和数据插入您的价值。在这种情况下,它会将数据发布到一个 php 文件,该文件将检查发布的数据是什么,例如 $_POST['data'] 然后您可以使用它对数据库进行 mysqli 或 T-SQL 更新。为了清楚起见,PHP 是一种服务器端脚本语言。
    • 感谢您的回复,因此在我的 PHP 文件中,我可以根据需要对数据库进行更改,并且我假设如果我不返回 .html 文件,更新将在不刷新页面的情况下工作?
    • 您不会返回 html 文件,您需要检查服务器的响应是否成功,只需将其记录到控制台即可。在响应部分:成功:function(response){console.log(response); }, // 如果返回状态 200(OK),则表示成功并且数据已插入。 :) 魔术,你会使用类似“mysqli_error($con));”的东西在 php 中返回响应错误。
    • 听起来不错。非常感谢您的帮助。我会在 PHP 文件中放入什么来获取更新的字段? $_POST["#nameoffieldhere"]?
    猜你喜欢
    • 1970-01-01
    • 2013-05-27
    • 2013-05-26
    • 2021-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 2018-07-13
    相关资源
    最近更新 更多