彭伟
(武汉城市职业学院,武汉430064)
彭伟(副教授),研究方向为嵌入式系统开发、网络技术、计算机算法。
传统的Web应用在交互操作过程中频繁出现全页刷新的问题无法避免,即使当前页面中仅有局部信息是需要动态刷新显示的。这不仅影响到界面效果,在实时监测过程中还会明显影响服务器的响应速度。
Ajax技术的出现为解决客户端Web与嵌入式HTTP服务器之间的交互问题提供了重要途径。Ajax是异步Javascript与XML的简称,这一概念由Jesse James Garrett提出,它是一组与 Web开发相关的技术,包括基于HTM L/XHTML与CSS标准的页面表示、基于DOM的动态显示和交互,以及基于XM LHttpRequest与服务器之间的异步通信。所有上述技术通过Javascript绑定在一起。
嵌入式以太网实时系统开发者可以尝试通过Ajax的核心对象XMLHttp在“后台”与嵌入式 HTTP服务器交互,对服务器发起远程控制,读取服务器动态返回的监测信息并刷新显示在客户端Web界面中的特定位置,且所有操作均不会导致当前Web界面被全页刷新。
本文以Microchip公司的TCP/IP协议栈为基础,讨论XM LHttp对象在嵌入式Web实时系统中的具体应用方法。所选用的测试电路以PIC18F452单片机与以太网接口芯片 RTL8019AS为核心,嵌入式HTTP服务器所有Web相关文件保存在系统外部EEPROM存储器中。
XMLHttp是Ajax技术的核心,由微软公司在IE5.0浏览器中率先推出,后被命名为XMLHttpRequest。
1.1.1 创建XMLHttp对象的通用函数
客户端与嵌入式系统HTTP服务器的所有交互都将基于在客户端所创建的XM LHttp对象。该函数在IE中创建XMLHttp对象的语句为:

在非IE中创建XMLHttp对象的语句为:……p>