第2章 JSON和XML的使用.ppt
Ajax客户端处理JSON响应服务器端返回JSON相应的文本表示,如:{“city”:“Hefei”,“province”:“Anhui”}客户端使用eval()函数将JSON文本转化为JavaScript对象:注意,使用额外的圆括号可使eval()函数将来源输入无条件地视为表达式进行解析。然后从JavaScript对象中取得相应的值:Ajax服务器端JSON生成JSON本质上来说就是字符串,只不过有格式要求。我们可以通过字符串拼接手动生成JSON字符串。当然你会发现不困难,但比较麻烦。InspurEducationInspurEducation?2012InspurGroup?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducationInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupInspurEducation?2012InspurGroupJSON和XML的使用本节目标理解什么是JSON掌握Ajax如何使用JSON掌握Ajax中服务器的响应方式掌握Ajax中对响应XML的解析服务器发送多值响应一般有以下几个选择:CSV(comma-separatedvalues)逗号分割值(极简返回值,用于简单结果)将多个数据串成一串,以逗号分割。例如:“admin,张桑,男,市场部,6354,济南高新区”当数据字符串到达客户端时,只要按照”,”分割就可以得到多个值。varnames=“张三,李四,王五”;varval=s.split(“,”);//得到分割数组缺点:信息值里面可能也包含”,”,分割会出错XHTML方式(加载比较复杂的页面时用)把响应的值格式化成XHTML,即以html标签把数据包裹起来。例如“divpadmin/pp男/pp p济南高新区/p/div”客户端接收到字符串之后,只需调用innerHTML属性为其赋值,就可以把内容显示在页面上。缺点:服务器必须做大量额外工作。服务器不仅要针对应用请求得到适当的信息,还必须采用特定于某个页面的格式化。对于另一个页面则需要一个完全不同的XHTML响应。XML格式(页面中没人用,WebService常用)这种格式和XHTML方式相似,只是采用了XML的拓展标签格式化字符串。XML比XHTML具有更好的通用性。person nameadmin/name sex男/sexphonphone address济南高新区/address /person当XML字符串到达客户端时,需要采用JS对XML 进行解析(DOM解析)。JSON方式(一般场景通用)把响应的值格式化成JSON。例如“{name:admin,sex:男,phone”客户端接收到字符串之后,调用“person.属性”,就可以把对应的值取出来。缺点:JSON只提供整体解析方案,而这种方法只在解析较少的数据时才能起到良好的效果。/SanMaoSpace/p/3139186.htmlJS解析XML//响应的xml字符串varxmlDoc=xmlhttp.responseXML;//获取所有的person标签对象varallPersons=xmlDoc.getElementsByTagN