AJAX数据处理方式

来源:互联网 发布:淘宝开发者平台是什么 编辑:程序博客网 时间:2024/05/21 01:45

AJAX数据处理方式:
1.HTML的处理方式(responseText)
2.XML的处理方式(responseXML及DOM)
优点:格式固定,容易扩展数据,层析清晰
缺点:节点的获取(有问题)
所以解析XML一般用服务器语言(DOM)
3.JSON(eval函数格式化及responseJSON)
JSON:利用js的对象来表示的数据(字符串)
js字面量:
1.对象字面量:
{
stu1:{name:"张三",sex:"男",birthday:{year:1990,month:12,day:12}},
stu2:{name:"李四",sex:"男",birthday:{year:1990,month:12,day:12}},
stu3:{name:"王五",sex:"男",birthday:{year:1990,month:12,day:12}},
stu4:{name:"赵六",sex:"男",birthday:{year:1990,month:12,day:12}}
}
{属性名:属性值,...}
优点:访问简单,易获取(通过eval转换格式)
缺点:格式不固定,没有规则(写json的时候格外注意)
2.数组字面量:[{属性:值},{值},{...}]
[
{name:"张三",sex:"男",birthday:{year:1990,month:12,day:12}},
{name:"李四",sex:"男",birthday:{year:1990,month:12,day:12}},
{name:"王五",sex:"男",birthday:{year:1990,month:12,day:12}},
{name:"赵六",sex:"男",birthday:{year:1990,month:12,day:12}}
]

html,xml已上传,下面是json的例子:

1、ajax.js    ajax的封装

function initXHR(){
 //判断浏览器的版本
 return window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");
 }
function testXHR(serverUrl,Parms,callBack){
 var xhr=initXHR();//初始化XHR
 var url=serverUrl+"?"+Parms+"&r="+Math.random();//初始化url。serverUrl传送的文件。Parms参数
 xhr.open("GET",url,true);//打开url
 xhr.send(null);//发送请求
 xhr.onreadystatechange=function(){
  if(xhr.readyState==4){
   callBack(xhr);//callback回调函数,自动执行,函数执行完后会给主程序一个响应
   }
  }
 
 }

2、json.php

{

stu1:{name:"张三",sex:"男",birthday:{year:1990,moth:12,day:4}},
stu2:{name:"李四",sex:"男",birthday:{year:1990,moth:12,day:4}},
stu3:{name:"王五",sex:"男",birthday:{year:1990,moth:12,day:4}}
 
 }

 

3、ajax_json.php

<script language="javascript" type="text/javascript" src="ajax.js">
</script>
<script language="javascript" type="text/javascript">
function testJSON(){
 testXHR("json.php","",showjson);//testXHR函数应与ajax.js里的函数名保持一致 
 }
function showjson(xhr){//xhr是个保存XMLHttpRequest对象的xhr变量(必须有)
 var jsonObj=eval("("+xhr.responseText+")");
 alert(jsonObj.stu1.name);
 }

</script>

<input type="button"  value="测试" onclick="testJSON()">

原创粉丝点击