使用 Dojo 的 Ajax 应用开发进阶教程,第 7 部分: Dojo 核心库深入介绍
2010-09-26 00:00:00 来源:WEB开发网清单 1. 在数据仓库中的条目和 JavaScript 对象之间相互转换
var item = {
name : "Alex",
skills : ["JavaScript", "Java"]
};
function addJsonToStore(store, json) {
for (var key in json) {
if (json.hasOwnProperty(key) && dojo.isArray(json[key]) {
json[key] = [json[key]];
}
}
store.newItem(json);
}
function storeItemToJson(store, item) {
var attrs = store.getAttributes(item);
var result = {};
dojo.forEach(attrs, function(attr) {
result[attr] = store.getValue(item, attr);
});
return result;
}
如 代码清单 1 所示,addJsonToStore()方法对 JavaScript 对象中的数组进行了处理。在通过 storeItemToJson()方法把数据仓库中的条目转换成 JavaScript 对象的时候,就可以直接使用 getValue()方法而不会出现错误。
在介绍完 Dojo 核心库提供的数据模型之后,下面介绍与 I/O 请求相关的内容。
I/O 请求
在 Ajax 应用中最常见的 I/O 请求方式是使用 XMLHTTPRequest。Dojo 基本库中提供了对于 XMLHTTPRequest 请求的支持。XMLHTTPRequest 在大多数情况下能够满足应用的需求,但是也有其自身的局限性,如不能跨域访问资源和上传文件等。当 XMLHTTPRequest 不能满足需求的时候,就需要使用其它 I/O 请求方式。Dojo 核心库中提供了脚本和 iframe 两种额外的 I/O 请求方式。下面分别对这两种方式进行介绍。
更多精彩
赞助商链接