[英]Using AJAX and PHP to write HTML
我有一个网页,该网页在计时器上使用以下Javascript代码执行PHP脚本。 该PHP脚本解析XML文件并提取数据,然后通过“ echo”返回该数据,该命令将替换HTML页面中的“ replacement” div。
这是行不通的。 如果我有PHP脚本,则仅返回基本文本或一些简单的HTML,那么一切正常。 当我尝试将其发送回HTML表或什至要添加到网页表中的行时,它只是根本不显示,并且div处没有替换文本。 我需要从PHP脚本向表添加HTML表或行。 我怎样才能做到这一点?
非常感谢帮助!!
function completeTable() {
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("replacement").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","php-parser.php",true);
xmlhttp.send();
}
我希望您向我们展示的内容能够奏效。 对于简单的静态字符串,它可以按预期工作,这证实了这一点。 因此,实际上只有两种可能性。 在此处,javascript出了点问题,或者在PHP中出了点问题。
首先,将浏览器指向PHP端点,并检查它是否返回了您期望的结果。 然后验证这是一个格式正确的片段。 然后,如果没有明显错误,请将其通过管道传输到文件中,并用文件内容替换脚本的输出(但不替换脚本的其他任何部分)。
顺便说一句,如果将responseText发送到不希望显示格式正确的HTML的内容(例如警报对话框或文本区域),则可能会更清楚地了解正在发生的情况。
这是一个示例,说明如何使用jQuery和JSON进行尝试。 它在前端的渲染速度要快得多。 可能需要尝试一下。 只需弄清楚如何将来自数据库的数据写入JSON结构(类似于我确定要创建的xml),然后在某种cronJob上进行设置即可运行PHP收集。 下面的代码应正确构建表。 我是手工编写的,因此您可能需要稍微尝试一下,而且我不知道您要插入的数据结构,所以我做了一些bs json。
JS
function gatherContent(){
var data = $.ajax('content.json');
data = data.users
var elementBlock = document.createElement("table");
for(x = 0;x < data.length; x++){
elementBlock.appendChild('<tr><td>'+data(x).name+'</td><td>'+data(x).address+'</td></tr>');
}
$('#replacement').html(elementBlock);
}
content.JSON
{
"users": [
{
"name": "blah",
"address": "more blah"
},
{
"name": "blah",
"address": "more blah"
}
]
}
像这样在响应中添加html标签
$response = '<table><tr><td>'.$value.'</td></tr></table>';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.