Ajax响应PHP回显HTML

时间:2015-12-10 11:34:51

标签: javascript php jquery html ajax

主要问题:如何从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如何处理它是我的问题。

1 个答案:

答案 0 :(得分:1)

你在混淆一切。让我清楚你的脚本......

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.