ajax的几个经典案例
1、返回Html格式:HTML由一些普通文本组成,如果服务器通过XMLHttpRequest发送HTML,文本将储存在responseText属性中 不必从responseText属性中读取数据,它已经是希望的格式,可以直接将它插到页面中 插入HTML代码最简单的方法是更新这个元素的innerHTML属性
2.返回xml格式:有两句话很重要:
1)告诉浏览器返回的数据是xml格式---header("Content-Type:text/html;charset=utf-8");
2)告诉浏览器不要缓存数据 ----header("Cache-Control:no-cache");
if(xmlHttp.readyState==4 && xmlHttp.status ==200){ //获取mes节点 返回值是object var mes = xmlHttp.responseXML.getElementsByTagName("mes"); //取出mes的节点值 mes[0]->表示取出第一个mes节点 mes[0].childNodes[0]->表示第一个mes节点的第一个子节点 var mes_value = mes[0].childNodes[0].nodeValue; //把获取的值显示到当前input控件上(输入成功......) $('myres').value = mes_value; }
3.返回json格式:
?ajax如何处理json数据格式
①json的格式如下 :
"{属性名:属性值,属性名:属性值,.... }" 因为json数据是原生态数据,因此这种数据格式很稳定,而且描述能力强,我们建议大家使用json格式
②json数据格式的扩展
如果服务器返回的json 是多组数据,则格式应当如下:
$info="[{"属性名":"属性值",...},{"属性名":"属性值",...},....]";
在xmlhttprequest对象接收到json数据后,应当这样处理
//转成对象数组
var reses=eval("("+xmlHttpRequest.responseText+")");
//通过reses可以取得你希望的任何一个值
reses[?].属性名
③更加复杂的json数据格式
<script language="JavaScript"> var people ={ "programmers": [ {"firstName": "Brett", "email": "brett@newInstance.com" }, {"firstName": "Jason", "email": "jason@servlets.com" } ], "writer": [ {"writer":"宋江","age":"50"}, {"writer":"吴用","age":"30"} ], "sex":"男" };
window.alert(people.programmers[0].firstName); window.alert(people.programmers[1].email);
window.alert(people.writer[1].writer); window.alert(people.sex); </script>