在 Ajax 之后重新加载 PHP 代码

Reload PHP code after Ajax

本文关键字:加载 PHP 代码 Ajax 之后 新加载      更新时间:2023-09-26

伙计们,我还在这里学习,所以如果它很乱,请原谅我的代码。我有 3 个单独的页面如下:
帐户视图.php---显示数据的位置:

                      <div class="panel-body">
                        <div id="opentasks">
                        <!-- view Open tasks -->
                            <?php $task= new acct; echo $task->accountActiveTasks()?>
                        </div>
                        <!-- end view open tasks -->
                        <!-- start adding quick task -->
                          <div class="chat-form">
                             <!--  <form method="post" action="addTask.php"> -->
                              <div class="input-cont ">
                                  <input type="text" class="form-control col-lg-12" placeholder="Add a quick Task..." name ="quicktask" id="quicktask">
                              </div>
                              <div class="form-group">
                                  <div class="pull-right chat-features">
                                      <a href="javascript:;">
                                          <i class="icon-camera"></i>
                                      </a>
                                      <a href="javascript:;">
                                          <i class="icon-link"></i>
                                      </a>
                                      <input type="submit" class="btn btn-danger" name="AddTask" value="Add" onclick="add_quick_task()">

                                      <input type="hidden" name="acct" id="acct" value="<?php echo $_REQUEST['acctname']?>">
                                      <input type="hidden" name="user" id="user" value="<?php $username = $_SESSION['username']; echo $username?>"> 
                                  </div>
                              </div>

任务.js --> 从 AccountView 抓取一个输入.php

function add_quick_task(){
            var xmlhttp;
            if (window.XMLHttpRequest) {
                xmlhttp = new XMLHttpRequest();
            }else{
                xmlhttp = new ActiveXObject("microsodt.XMLHTTP");
            }
        var acct = document.getElementById('acct').value;
        var quicktask = document.getElementById('quicktask').value;
        // var taskstatus = 'Active';
        var user = document.getElementById('user').value;
        xmlhttp.onreadystatechange = function(){
            if (xmlhttp.readyState==4) {
                document.getElementById('panel-body').innerHTML = xmlhttp.responseText;
            }   
        }
            url = "addTask.php?acct="+acct+"&quicktask="+quicktask+"&user="+user;
            xmlhttp.open("GET", url, true);
            xmlhttp.send();
        }

account_functions.php ---PHP函数从mysql获取数据的地方

     public function accountActiveTasks(){
      $varacctname = $_REQUEST['acctname'];
      $varViewActiveTasks = mysql_query("SELECT * from tasks WHERE taskresource='$varacctname' && taskstatus='Active'");
      while ($rows= mysql_fetch_array($varViewActiveTasks)) {
           $this->accttask = $rows['tasktitle'];
           $this->acctTaskStatus = $rows['taskstatus'];
           $this->acctTaskOwner = $rows['taskowner'];
                              echo "<div class='"timeline-messages'">
                          <div class='"msg-time-chat'">
                              <a href='"#'" class='"message-img'"><img class='"avatar'" src='"img/chat-avatar.jpg'" alt='"'"></a>
                              <div class='"message-body msg-in'">
                                  <span class='"arrow'"></span>
                                  <div class='"text'">
                                      <p class='"attribution'"><a href='"#'">$this->acctTaskOwner at 1:55pm, 13th April 2013</a></p>
                                      <p> $this->accttask</p>
                                  </div>
                              </div>
                          </div>
                          <!-- /comment -->
                      </div>";
      }

我的目标是每次运行任务.js时,帐户视图中的 php 代码都会刷新.php有点像附加数据。目前数据被推送到 mysql 表,但我必须刷新才能看到它。我希望它在成功时自动显示。

试试吧

window.location.reload();

什么是

面板主体,这是一个类。在您添加响应的响应中,我认为您的意图是让id="面板正文"

如果你想将响应附加到"panel-body"Div,你可以使用这个jquery语句

           if (xmlhttp.readyState==4) {
            $('#panel-body').append(xmlhttp.responseText);
        }