一、引言
在ajax技术中,在用户观看并与页面交互的同时(这正相应于ajax中的“异步”部分),由页面中的javascript负责把数据请求发送到一个web服务器。这些请求只是一些普通的http请求,与浏览器用于页面(连同其中的任何图像,层叠式样表等内容)检索的http完全相同。同时,xmlhttprequest对象可以用于检索任何类型的数据,而不仅仅是xml类型。例如,javascript可以使用xmlhttprequest来检索一个来自于web服务器的普通文本文本并且把它的内容显示于一个表单中。 【相关文章:关于一些路由协议的漏洞(1)】
当微软把activex xmlhttp对象纳入到javascript的internet explorer实现中时,它实际上已经为web应用程序的又一次革命(异步javascript+xml,简称ajax)埋下了“火种”。今天,firefox,safari,opera及其它浏览器都支持xmlhttprequest对象,正是这些支持最终才导致了诸如colr.org,backpackit.com与maps.google.com等著名网站的产生。尽管这些网站(不止这些)所提供的应用程序运行于一种浏览器中,但是它们在行为与外观上却极类似于传统的桌面应用程序。 【扩展阅读:网管辞典:网络协议术语-ARP】
虽然xml是进行数据交换的标准方式,但是通常它不是最好的方式。尽管xml可以把结构与元数据添加到数据上,但是它使用了一种相当繁琐的方式。xml还有一种相对复杂的语法,因而需要一种分析器对之进行专门分析。在javascript中,xml必须被分析成一棵以备后用的dom树。并且,一旦你构建了这棵dom树,你还必须在其中导航以便创建相应的javascript对象或者以其它方式在你的客户端web应用程序中使用xml数据。 【扩展信息:手把手教你捕获数据包】
通过查找位于数据之前的“content-type”头部,xmlhttprequest对象分析从web服务器返回的数据的mime类型。例如,如果这些数据的mime类型是“text/plain”,那么你可以通过分析xmlhttprequest对象的responsetext属性来存取它;然而,如果其mime类型为“text/xml”,那么xmlhttprequest对象必须采取额外的措施:它要在返回的文档对象上运行一个xml分析器并在内存中构建一棵文档对象模型(dom)树来描述该文档,并且还要使其可用于responsexml属性。然后,你才可以使用javascript的标准dom方法在树中导航并检索元素、属性及位于该dom树中的其它文本。
幸好,你还有另外更好的可选方案。二、json简介
... 下一页