gpt4 book ai didi

php - 回显 php 数据

转载 作者:行者123 更新时间:2023-11-30 18:43:36 25 4
gpt4 key购买 nike

在下面的代码中,我在 php 文件中回显了 $strXML,它显示了整个 $strXML,但我只想在 javascript 中显示“名称”元素值。谁能帮帮我?

PHP:

$strXML = '<? xml version="1.0" ?>'."\n"; 

$id = $_GET['id'];
$name = $_GET['name'];

$strXML .= '<data>'."\n";
$strXML .= '<id>'.$id.'</id>'."\n";
$strXML .= '<name>'.$name.'</name>'."\n";
$strXML .= '</data>'."\n";

echo $strXML;

JavaScript:

var xhr = createRequest();
function getData() {
if(xhr) {
var id = document.getElementById("id").value;
var name = document.getElementById("name").value;
var url = "search.php?id=" + id + "&name=" + name;
xhr.open("GET", url, true);
xhr.onreadystatechange = show;
xhr.send(null);
}
}


function show()
{
if ((xhr.readyState == 4) &&(xhr.status == 200))
{
var strXML = xhr.responseText;
alert(strXML);
}
}

最佳答案

responseText property 是一个字符串(规范中的 DOMString 但在 JavaScript 中它只是一个 String )所以你不能调用 getElementsByTagName 在上面;你想看xhr.responseXML .

此外,getElementsByTagName在调用它的元素下搜索:

The subtree underneath the specified element is searched, excluding the element itself.

所以你必须直接访问内容而不是在循环中:

var result = xhr.responseXML;
var id = result.getElementsByTagName('id' ).childNodes[0].nodeValue;
var name = result.getElementsByTagName('name').childNodes[0].nodeValue;

如果要返回多个<data>元素(因此,使用你的 for 循环),那么你必须将 PHP 的返回值包装在另一个元素中:

<results>
<data>
<id>$id</id>
<name>$name</name>
</data>
<!-- etc. -->
</results>

关于php - 回显 php 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6105656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com