XML字符串中的PHP AJAX响应

时间:2014-04-08 08:06:15

标签: php ajax

我有一个正在进行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错误方法中的警报 - 我需要从后端脚本执行其他操作。

1 个答案:

答案 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');

(在输出之前)