[英]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.