繁体   English   中英

Ajax响应PHP回显HTML

[英]Ajax response PHP echo HTML

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

基本上,Ajax调用回显HTML的PHP​​文件。 我的脚本在表体内。 然后,我的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.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM