ajax处理返回的json格式数据方法
以用户注册为例:
register.php
用户注册 //创建ajax引擎 functiongetXmlHttpObject(){ varxmlHttpRequest; //不同的浏览器获取对象xmlhttprequest对象方法不一样 if(window.ActiveXObject){ xmlHttpRequest=newActiveXObject("Microsoft.XMLHTTP"); }else{ xmlHttpRequest=newXMLHttpRequest(); } returnxmlHttpRequest; } varmyXmlHttpRequest=""; //验证用户名是否存在 functioncheckName(){ myXmlHttpRequest=getXmlHttpObject(); //怎么判断创建ok if(myXmlHttpRequest){ //通过myXmlHttpRequest对象发送请求到服务器的某个页面 //第一个参数表示请求的方式,"get"/"post" //第二个参数指定url,对哪个页面发出ajax请求(本质仍然是http请求) //第三个参数表示true表示使用异步机制,如果false表示不使用异步 varurl="regisgerProcess.php"; //这个是要发送的数据 vardata="username="+$('username').value; //打开请求. myXmlHttpRequest.open("post",url,true); //还有一句话,这句话必须. myXmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //指定回调函数.chuli是函数名 myXmlHttpRequest.onreadystatechange=chuli; //真的发送请求,如果是get请求则填入null即可 //如果是post请求,则填入实际的数据 myXmlHttpRequest.send(data); } } //回调函数 functionchuli(){ //window.alert("处理函数被调回"+myXmlHttpRequest.readyState); //我要取出从registerPro.php页面返回的数据 if(myXmlHttpRequest.readyState==4){ //取出值,根据返回信息的格式定.text //window.alert("服务器返回"+myXmlHttpRequest.responseText); //$('myres').value=myXmlHttpRequest.responseText; //看看如果取出xml格式数据 //window.alert(myXmlHttpRequest.responseXML); //取出text或json数据用下面方式:获取mes节点 varmes=myXmlHttpRequest.responseText; window.alert(mes); //使用eval函数将mes字符串转换为对应的对象,注意eval函数格式如下: mes_obj=eval("("+mes+")"); window.alert(mes_obj.res); $('myres').value=mes_obj.res; } } //这里我们写一个函数 function$(id){ returndocument.getElementById(id); } 用户名字:
用户密码:
电子邮件:
用户名字:
用户密码:
电子邮件:
regisgerProcess.php:
json数据详解:
1、json的格式如下:
"{属性名:属性值,属性名:属性值,....}"
因为json数据是原生态数据,因此这种数据格式很稳定,而且描述能力强,我们建议大家使用json格式
2、json数据格式的扩展
如果服务器返回的json是多组数据,则格式应当如下:
$info="[{"属性名":"属性值",...},{"属性名":"属性值",...},....]";
在xmlhttprequest对象接收到json数据后,应当这样处理
//转成对象数组
varreses=eval("("+xmlHttpRequest.responseText+")");
//通过reses可以取得你希望的任何一个值
reses[?].属性名
3、更加复杂的json数据格式
varpeople={ "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);
4、当一个ajax请求到服务器,服务器可以根据需求返回三种格式的数据,那么我们应当选择哪一个?
a.如果你的项目经理没有特殊的要求,建议使用json
b.若应用程序不需要与其他应用程序共享数据的时候,使用HTML片段来返回数据时最简单的
c.如果数据需要重用,JSON文件是个不错的选择,其在性能和文件大小方面有优势
d.当远程应用程序未知时,XML文档是首选,因为XML是web服务领域的“世界语”
以上这篇ajax处理返回的json格式数据方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。