在XHR(XMLHttpRequest)1.0标准中response 只有 xml 和 text , json 也是 text
一:XML
<script type="text/javascript">
XHR = new XMLHttpRequest();
XHR.open('POST','1.php',true);
XHR.setRequestHeader("Content-type","application/x-www-form-urlencoded");
XHR.send(null);
//alert(XHR.status+XHR.statusText+"readyState"+XHR.readyState);
XHR.onreadystatechange=function(){
if(XHR.readyState == 4)
{
var xml = XHR.responseXML;
var book = xml.getElementsByTagName('book')[0];
alert(book.lastChild.firstChild.nodeText);
}
}; </script>
php 端
<?php
header('Content-type:text/xml');
?>
<xml version='1.0' encoding='utf-8'>
<root>
<book><name>火影忍者</name><price>35.5</price></book>
</root>
</xml>
二 json
主要注意,js中
eval("({title:'天龙八部',price:30})")
在字符串的两段要加上 ()
<script type="text/javascript">
XHR = new XMLHttpRequest();
XHR.open('POST','1.php',true);
XHR.setRequestHeader("Content-type","application/x-www-form-urlencoded");
XHR.send(null);
XHR.onreadystatechange=function(){
if(XHR.readyState == 4)
{
var book = eval('('+XHR.responseText+')');
alert(book.intro);
}
}; </script>
php端
<?php
//header('Content-type:text/xml');
?>
{title:'阿童木',intro:'铁臂阿童木'}