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