无法使用php/ajax代码显示文本:(

无法使用php/ajax代码显示文本:(,php,javascript,ajax,Php,Javascript,Ajax,首先检查此站点: 嗨,我来自墨西哥,我自动学习html、css、js和php,用于个人目的 我正在尝试将该代码添加到我的测试页面,示例是示例3-随机事实生成器(表单)。当您单击“随机生成器”按钮时,它会使随机文本出现问题是..它来自何处?和xml?php服务器?…我不知道..我签入了所有代码,但什么都没有:(,我可以使用其他方法添加随机文本,如JS with a case和random.math,但我更喜欢该页面,有什么建议吗?它来自: 去看看 PHP可以读取XML文件、CSV文件、数据库等 如

首先检查此站点:

嗨,我来自墨西哥,我自动学习html、css、js和php,用于个人目的

我正在尝试将该代码添加到我的测试页面,示例是示例3-随机事实生成器(表单)。当您单击“随机生成器”按钮时,它会使随机文本出现问题是..它来自何处?和xml?php服务器?…我不知道..我签入了所有代码,但什么都没有:(,我可以使用其他方法添加随机文本,如JS with a case和random.math,但我更喜欢该页面,有什么建议吗?它来自:

去看看

PHP可以读取XML文件、CSV文件、数据库等

如果你还有问题,请告诉我

编辑: 如果不想覆盖最后一个事实,则必须从script.js中更改:

    if (objCurrent)
            objCurrent.parentNode.replaceChild(objReplacement, objCurrent);
    else
    {
        var objContent = document.getElementById('content');
        objContent.appendChild(objReplacement);
    }

编辑2: CSV文件(test.CSV)

这是您提供的网站上的PHP adapt

<?php
$handle = fopen("test.csv", "r");

$array= array();
while (($data = fgetcsv($handle, 5000, ",")) !== FALSE) {
    array_push($array,$data);
}

if(count($array) > 0){
    $id = rand(0, count($array) -1);
    echo $array[$id][1];
}
?>

它从

在本节中,它将打开与该页面的连接:

if (objXMLRequest)
{
   objXMLRequest.onreadystatechange = processResult;
   objXMLRequest.open('GET', 'fact.php', true);
   objXMLRequest.send(null);
}
当连接的状态更改事件触发时,它调用方法
processResult
。该方法检查
readystate
是否为4(已完成),状态是否为200(确定),并更新页面上的文本

创建示例页面不需要数据库或读取文件。最简单的方法是创建一个事实数组并随机输出一个,如下所示:

<?php
$facts = array("fact 1", "fact 2", "fact 3", "fact 4", "fact 5", "fact 6");
$random_number = rand(0, count($facts)-1);
echo $facts[$random_number];
?>


欢迎来到SO,请发布您的代码!我会在这里说这个神奇的词。jquery它会让生活变得更加轻松。所以…文本来自javascript代码调用的另一个php…嗯,听起来很简单,让我试试,thx brooolol它起了作用。但是我如何继续调用来自同一事实的随机文本。php或者我需要更多页面,或者我该怎么做ean您想在同一页面上显示多个随机文本吗?我正在使用此链接进行测试,我使用php调用了一个csv文件并调用了数组,但不是随机的:(,它来自excel文件LOL它起作用了。。但是我如何继续调用来自同一个fact.php的随机文本,或者我需要更多的页面,或者我该怎么做?fact.php只有一行,我想添加更多行,那么我如何调用数据库或添加更多行?您是否试图通过一次调用获得多行?还是每次单击时只想显示几行按钮?或者在每次单击时添加一行而不替换旧行?就像我给出的示例一样,我只想这样做。最简单的方法是将一组事实放入php文件中,然后随机打印一行。我将更新我的答案。
if (objXMLRequest)
{
   objXMLRequest.onreadystatechange = processResult;
   objXMLRequest.open('GET', 'fact.php', true);
   objXMLRequest.send(null);
}
<?php
$facts = array("fact 1", "fact 2", "fact 3", "fact 4", "fact 5", "fact 6");
$random_number = rand(0, count($facts)-1);
echo $facts[$random_number];
?>