【发布时间】:2015-06-23 08:05:59
【问题描述】:
我想在我的 php 服务器代码中形成一个字符串作为 xml,然后将其发送到 javascript,以便 ajax.responseXML 可以在其中导航并处理数据。我无法准确找到完成此任务所需的内容,并尝试了几种不同的方法。这是我最近尝试过的。
<?php
header("Content-type: text/xml");
$xmlstring = "<?xml version'1.0' encoding='UTF-8'>";
$xmlstring = $xmlstring . "<book name='$name' author='$author'>";
foreach($rankings as $entry)
{
$xmlstring = $xmlstring . "<rank>$entry</rank>";
}
echo $xmlstring;
?>
我知道数据正在到达那里,因为如果我将它作为字符串回显并直接打开它,我需要的数字就会被打印出来。我正在使用 Ajax.Request 打开带有某些参数的 php 文件,当它到达 onSuccess 函数时,ajax.responseXML 为空。这是我第一次处理 xml,所以我可能会做一些愚蠢的事情。
调用函数:
function findRankings(author, name)
{
new Ajax.Request("server_code.php",
{
method: "get",
paramters: {"type": "rank", "name": name, "author": author},
onSuccess: makeGraph,
onFailure: ajaxFailed
});
}
function makeGraph(ajax)
{
alert(ajax.responseXML); // testing that it made it
.....// do stuff with the response
}
编辑:我添加了标题并使其仅回显字符串。我还添加了 ajax 函数。我一直在为空。 :(
【问题讨论】:
-
可能要添加
header('Content-Type: text/xml');不确定这是否有助于 ajax.responseXML 识别它。 -
也发现了这个:stackoverflow.com/questions/2124924/… 你能添加你的脚本来进行 Ajax 调用吗?
-
我还添加了标题和脚本。我的 php 文件中的变量在我发布的部分之前设置。我知道这些都是对的,所以这不应该是问题。
标签: javascript php ajax xml