当前位置: 首页 > 面试题库 >

使用AJAX动态更新数据库中的文本

谷梁驰
2023-03-14
问题内容

我一直在努力学习AJAX,以便我可以简单地用数据库中的新文本动态更新网页,因为似乎所有的Ajax教程都是涉及将数据写入数据库的更复杂的示例。

我正在处理的页面只是一个PHP脚本,需要向其发布注册和ID号,并且该页面依次显示来自数据库的消息(经常更新)。我目前在页面顶部有一个“更新消息”按钮,该按钮发送命令以更新消息,但是需要刷新页面才能工作。

我只想使用ajax来动态刷新消息。这是我到目前为止所写的内容,基于我在使用Jquery
Ajax从Mysql检索数据中发现的内容,但是由于我不知道如何将注册和id号作为参数传递给使用ajax的php脚本并显示响应。

请注意,该sendPushNotification功能是无关的并且可以正常工作(用于发送命令以更新消息)。

readmessages.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Inbox</title>

        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){

            });
            function sendPushNotification(id){
                var data = $('form#'+id).serialize();
                $('form#'+id).unbind('submit');                
                $.ajax({
                    url: "send_message.php",
                    type: 'GET',
                    data: data,
                    beforeSend: function() {

                    },
                    success: function(data, textStatus, xhr) {
                          $('.txt_message').val("");
                    },
                    error: function(xhr, textStatus, errorThrown) {

                    }
                });
                return false;
            }
            function updateText(registration, rowid) {
                $.ajax({    //create an ajax request to readmessages.php
                    type: "GET",
                    url: "readmessages.php",             
                    dataType: "html",   //expect html to be returned                
                    success: function(response){                    
                    $("#responsecontainer").html(response); 
        }

    });
            }
        </script>
</head>

<body>

<?php
    // receive data from HTML readmessages request
    $rName=$_POST["registration"];   //POST information required to read information from the database
    $rowId=$_POST["rowid"];

    require_once 'access.php';

    if (!userIsLoggedIn()) {
        include 'login.php';
        exit();
        }

    include_once './db_functions.php';
    $db = new DB_Functions();   
    ?>

    <form id="<?php echo $rowId ?>" name="" method="post" onsubmit="return sendPushNotification('<?php echo $rowId ?>')">                             
    <input type="hidden" name="message" value="readmessages" />
    <input type="hidden" name="regId" value="<?php echo $rName ?>"/>
    <input type="submit" class="send_btn" value="Update Messages" onclick="return updateText(<?php echo $rName ?>, <?php echo $rowId ?>);"/>  //Attempts to call function to update text once button is pressed (not functioning)

 <?php
    $messagelist = $db->getInbox($rName); //calls the database to retrieve messages
    echo nl2br($messagelist);       //Displays message list that I want to update  
    include './logout.php';                        
    ?>
</body>
</html>

任何帮助将不胜感激!

编辑: 更新行以包含正确的引号:

<input type="submit" class="send_btn" value="Update Messages" onclick="return updateText('<?php echo $rName ?>', '<?php echo $rowId ?>')"/>

问题答案:

您需要将数据与ajax请求一起包括在内,

data: {registration: registration, rowid: rowid},

并将类型设置为POST,因为在php端您要检索POST变量

像这样…

function updateText(registration, rowid) {
            $.ajax({    //create an ajax request to readmessages.php
                type: "POST",
                url: "readmessages.php",             
                dataType: "html",   //expect html to be returned  
                data: {registration: registration, rowid: rowid},
                success: function(response){                    
                $("#responsecontainer").html(response); 
    }


 类似资料:
  • 如何使用复选框使用Ajax仅更新表的一列? 我想使用复选框并更新我的列,值将是或。如果选中值为,否则。 是我列的名称 是我的行id 控制器功能 不知道怎么处理这个零件! 我的最新代码: 我的开关按钮未按预期工作,对于值打开,对于值关闭,开关始终处于关闭状态 问题是为"什么是PHP运算符"?"":"打电话来,他们是做什么的?"解释了我必须使用

  • 我想用AJAX和Laravel5.2框架更新数据库表列。我有一个按钮,当我点击该按钮时,它会将一列从更新为。我还使用sweetAlert插件进行弹出式设计。我找了很多。但我没有找到完美的程序。我试过这样做: 路线: WinnerController: 视图中的脚本: 刀片: 刀片前端: 这是更新栏,但更新后它重定向了另一个页面,它只显示弹出它不需要提交弹出的确认按钮。有办法这么做吗?有人能回答我下

  • 本文向大家介绍Vue2.X 通过AJAX动态更新数据,包括了Vue2.X 通过AJAX动态更新数据的使用技巧和注意事项,需要的朋友参考一下 最近在做一个跟美团同样一套预约系统,由于一个商家会有很多主题,而每个主题下面会有很多场次。 那怎么在一个页面把这些数据很好的动态展示出来呢?我首先想到了VUE的动态绑定数据。 由于第一次使用VUE,很多东西不懂,只能靠百度。服务器端返回的数据直接是JSON数据

  • 问题内容: 我需要有关ajax的帮助。我想更新一个php文件,它将更新数据库。我有一个表格,它将选中的复选框发送到一个php文件,然后更新数据库。我想用ajax做到这一点,但我为此感到挣扎。我知道如何通过Ajax 更新HTML元素,但是无法解决。 HTML脚本 PHP updateDB.php 我希望此更新无需刷新页面。 问题答案: 我只想要一些建议,首先您的html页面代码应该喜欢- 现在我转向

  • 嘿,伙计们,我正在使用Laravel5.7,我正试图发出一个ajax post请求来更新我的数据库。ajax将基于checkbox on change函数发布。例如,如果我关闭复选框,它将发送一个请求,并将我的状态更新为my表中的。尝试之后,我出现了一个错误。有人注意到我做错了什么吗?抱歉,如果我的代码中有一些错误的代码或语法,因为我对Ajax非常陌生。任何帮助都将不胜感激。 AJAX 路线 控制

  • 本文向大家介绍ajax动态获取数据库中的数据方法,包括了ajax动态获取数据库中的数据方法的使用技巧和注意事项,需要的朋友参考一下 今天看到有人在问答上问怎样去动态取值附在option上,本来想解决的,但我发现。。。。没有,我本来也笨,记不住,所以还是写一下,让大家可以看一下: 首先我这用的框架是SSM,代码就开始了: 这是写在前台的方法里一个点击事件进入方法里我就不写那么麻烦了直接ajax部分代