XHR实战技巧
- 记得在调用open()函数时,将async参数设置为true。
- 不要忘记在调用send()函数前设置回调函数。
- 使用encodeURI()对提交的表单数据编码。
- 将请求对象的mime-type参数设置为application/x-www- form-urlencoded
- 如需使用responseXML属性,将响应对象的mime-type设置为 application/xml 或者text/xml。
我们为XHR对象分配了回调函数。一旦接受响应,回调函数被调用一次。不过只有当完全接收到响应(状态为200),我们才会做解析操作,如下:
if (xhr.readyState==4){
if (xhr.status==200){
parseResponse(xhr);
}else{
//handle the HTTP error...
}
};
};
通用JavaScript实战技巧
JavaScript是一种弱类型脚本语言,支持面向对象,语法上类似Java、C,本质却大不同。JavaScript的主要特点如下:
- 运行时可动态扩展JavaScript对象属性。
- 一个函数可当成对象,作为参数传递到另一个函数。
- 变量不必遵循“先定义,后使用”的原则。
AJAX出现以前,人们习惯将UI等价为 HTML,DOM (Document Object Model)发挥有限。AJAX的出现进一步提升了DOM的地位,这一点在single-page应用程序尤为明显。DOM的工作分为两个阶段:查找DOM元素;修改或重构内容
1. 查找DOM元素
首先,DOM标准本身已具备一些基本的查找工具。
其次,使用Prototype也可以定位DOM元素。
实例
最后,企业级JavaScript库,例如jQuery,功能上会更加丰富一些。
实例
2. 修改或重构DOM
DOM标准为我们提供了基本的工具集,浏览器供应商也提供一些相应的标准
使用原型来修改DOM
原型有助于使用innerHTML来修改DOM。通过Insertion命名空间可以强化该功能。
从程序语言的角度看,原型方法并不支持构建DOM元素。但是,Scriptaculous库新增了DOMBuilder对象。
WIDGETS 与 BEHAVIORS对比
jQuery和原型更趋向于侵入式JavaScript的UI类型,页面的内容被声明为HTML。有一种可选的方法来发展Ajax UIs,更有利于桌面应用程序的开发。通过JavaScript组建可以创建DOM元素。Qooxdoo 和 Ext2都是UI开发风格的最好示例:
在理想的世界里,选择何时的开发框架可以让开发过程如鱼得水。但是在实际中,你需要时不时的冷静分析。我们特别推荐以下Ajax开发工具。