Ajax支持的数据格式有:HTML,XML,JSON
1、 Ajax支持HTML数据格式
在服务器返回的信息(responseText)中可以直接返回HTML格式,并将该信息写入到innerHTML中。如下:
document.getElementById(“details”).innerHTML =request.responseText;
优点:
1)从服务器发送的HTML代码在浏览器端不用javascript解析;
2)HTML的可读性较高;
3)HTML代码块与innerHTML属性搭配使用,效率高。
缺点:
1)通过Ajax更新一篇文档的多个部分是,不适用;
2)innerHTML并不是DOM标准格式。
2、Ajax支持XML数据格式
优点:
1)XML比较通用;
2)利用DOM可以控制文档。
缺点:
1)如果文档来自服务器,就必须保证文档包含正确的首部信息,若不正确,那么responseXML的值为空;
2)当XML文档太长时,DOM解析会比较复杂。
3、Ajax支持JSON数据格式(JSON是javascript的原生格式)
优点:相比于XML更加灵活,冗余减少,不需要服务器发送特定的内容信息;(原因:传送信息的字节数减少,减少了匹配的标签<comments></comments>)
缺点:过于严谨,代码可读写差,eval函数存在风险。
3.1、 定义JSON对象
varjsonObject = {
"name" :"cuihongzhen367";
"age" : "26";
"address" :"http://my.youkuaiyun.com/qq_30507287";
};
3.2、 JSON中可以添加方法
varjsonObject2 = {
"method" : function(){
alert("http://my.youkuaiyun.com/qq_30507287");
}
};
jsonObject2.method();
3.3、 使用eval()方法将一个字符串转为json对象
eval()方法可以把字符串转为本地的javascript代码执行。
例如:
varjsonStr = "{'name':'cuihongzhen367'}";
varjsonObject3 = eval("(" + jsonStr + ")");
alert(jsonObject3);