我有一个正在进行AJAX调用的网页,它以下面的格式回显XML字符串:
<ECG>Abnormal</ECG><SP>10.99</SP><BP>120/90</BP><OXY>139</OXY><TMP>23</TMP>
AJAX调用
$.ajax({
type:'post',
url: 'check_status.php',
dataType: 'xml',
success: function(xml) {
var ecg = $(xml).find("ECG").text();
var sp = $(xml).find("SP").text();
var bp = $(xml).find("BP").text();
var oxy = $(xml).find("OXY").text();
var tmp = $(xml).find("TMP").text();
alert(tmp);
},
error: function(){
alert('Error');
update();
}
});
XML响应只是由PHP后端脚本通过构造XML字符串创建的:
$resp = "<ECG>" . $ecg . "</ECG>" ....
echo $resp;
但是仍然会调用AJAX错误方法中的警报 - 我需要从后端脚本执行其他操作。
答案 0 :(得分:1)
正如我在评论中所说,响应并非形成良好的XML。您错过了包装其他节点的文档节点。像这样:
<?xml version="1.0"?>
<RESPONSE>
<ECG>Abnormal</ECG>
<SP>10.99</SP>
<BP>120/90</BP>
<OXY>139</OXY>
<TMP>23</TMP>
</RESPONSE>
我们也鼓励您从PHP中设置正确的内容类型标题:
header('Content-Type: text/xml');
(在输出之前)