繁体   English   中英

使用AJAX和PHP编写HTML

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

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