0

我在代码中使用 ajax 时遇到问题。它的工作原理是 index.php 会将值传递给 ajax.js,然后转到further.php。在进一步的.php 中将生成一个树形图,并且应该在 index.php 页面的一个 div 中呈现。这应该在我单击 index.php 上的“继续”时完成。但是,当我尝试这个时,输出现在出现了。div 有一个边框,所以我看到 div 显示为空,而它应该有来自进一步.php 的树图。下面是该过程之前和之后的图像,我单击“进一步”,从进一步的.php 中获取图表。

图 1:点击链接之前的 index.php 并调用 ajax 函数。

图 2:空的 div 屏幕截图。(在文本下:“Go far”)。空 div 上方的部分图是树的样子。调用ajax函数后。空 div,即数字 1 下方的边界区域,是应该显示来自进一步.js 的树形图的位置。

图中的图 1,即在图 2 中的文字下方,是一个测试,看数据是否从 index.html 成功传递,通过 ajax.js 到further.php。出现这个数字,表示数据正在成功传递。但是所需的输出没有出现,div 是空的。

我该如何解决?

那么为什么further.php的javascript代码中的树形图没有出现呢?

4

2 回答 2

0

问题究竟出在哪里?只是ajax不起作用?我建议你花一些时间学习 jQuery,它处理 ajax 和许多其他 javascript 函数要简单得多。并开发一个测试例程来测试您的 ajax 响应;创建一个并确保在尝试传递更复杂的函数生成结果之前传递一个简单的字符串。并修复 SQL 注入问题。

一行没有意义的代码:$row2['Pid']; 这应该怎么做?

于 2012-09-23T05:01:35.383 回答
0

为什么 ajax 在您的代码中不起作用。处理 ajax 响应的代码中的一个小错误。

   function handleAjaxResponse()
{
    if (xmlhttp.readyState==4)
    {
        document.getElementById("output").innerHTML = xmlhttp.responseText;

    }else{
        document.getElementById("main").innerHTML = "";
    }
}

在 handleAjaxResponse 方法中没有 应该解析xmlhttp变量,这是错误的原因。请参考以下代码。

xmlhttp.onreadystatechange = handleAjaxResponse(xmlhttp);

function handleAjaxResponse(xhr){
    console.log(xhr);   
}
于 2012-09-23T05:27:50.660 回答