Ajax response PHP echo HTML

Ajax response PHP echo HTML

本文关键字:HTML echo PHP response Ajax      更新时间:2023-09-26

主要问题:如何从Ajax正确地回显PHP中的HTML?我当前的网页在页面底部加载php echo,而不是在<tbody>标记之间。

基本上,Ajax调用PHP文件,该文件会与HTML相呼应。我的脚本在一个表体内。然后,我的Php继续使用表格格式添加行。我想要的是显示一个每周时间表,显示的一周可以通过按钮进行操作。我的时间表可以动态更改而不会破坏格式吗?

以下代码在我正在加载的网页中。

     <tbody>
        <script>
            function loadWeek(x) {
               $.ajax({
                  url:"weekly.php",
                  type: "post",
                  data: {x}, 
                  success: function(response) { 
                    $(document.body).append(response);                                    }
              });
            }
            window.onload=loadWeek(1); //loads the first week of the schedule
        </script>
    </tbody>

此外,调用Ajax函数的周递增器/递减器会破坏格式化吗?我必须重新加载特定星期的页面吗?

编辑:文字

好的,让我解释一下。我想在html页面最初加载时加载第一周的时间表。然后在每周时间表下有按钮,更改周,从而更改我们要查看的周。

这个脚本在代码的底部。

<script>
    var count = 1;
    function increment() {
        ++count;
        if(count > 4)
            count = 1;
        document.getElementById("week").innerHTML = count;
        loadWeek(count);
    }
    function decrement() {
        --count;
        if(count < 1)
            count = 4;
        document.getElementById("week").innerHTML = count;
        loadWeek(count);
    }
</script>

php代码只回显,不返回。。。

<?php 
if (isset($_POST['p'])) {
    $week = $_POST['p'];
    week($week);
}
function week($week) {
    //connects to Database
    //PDO statements
    //php double array
    for ($i = 0; $i < 7; $i++) {
        echo "<tr><td>$weekDays[$i]</td>";
        for ($j = 0; $j < 5; $j++) {
            echo "<td><p>".$usersNames[$i][$j]."</p></td>";
    }
    echo"</tr>";
} 
?>

上面的php代码使用了

function loadWeek (x) {
      $.post("weekly.php", {p: x}, function (res) {
         $("body").append(res);
      });
    }
    $(function () {
      loadWeek (1);
});

php代码可以从数据库中抓取。正如我所说的PHP是有效的,它在没有javascript操作的情况下成功地加载了第一周。我觉得发布其余的php代码不舒服,尤其是代码中有sqli。然而,我需要JS来改变我需要看的一周。格式化以及Ajax完成后Ajax如何处理它是我的问题。

您混淆了一切。让我清除你的脚本。。。

function loadWeek (x) {
  $.post("weekly.php", {p: x}, function (res) {
     $("tbody").append(res);
  });
}
$(function () {
  loadWeek (1);
});

PHP代码现在得到:

$_POST["p"] => x

在你的第一个代码中,你只是发送:

weekly.php?1            // This is not the valid request I believe.

现在我的代码将其更改为:

weekly.php?p=1 // You need to change the `param_name` to whatever here.