调用ajax请求
Dojo提供如下四个函数
xhrGet
xhrPost
xhrPut
xhrDelete
使用方式都大同小异,接受一个属性配置
url:请求的url地址。
handleAs:允许响应处理的格式,默认是text,也支持json,javascript,xml。
form:form元素的引用或者字符串ID,form中每个字段的值将被一起作为请求体发送。
content:传递给请求体中的其他参数。
回调函数
load:返回成功响应时调用,响应数据和请求对象作为参数被传递到这个函数。
error:如果 Ajax 请求出现问题,该函数将被调用。如果在 Ajax 请求中定义的 URL 无效、请求超时或者发生其他 HTTP 错误,这将会出现。错误消息和请求对象被作为参数传递。
handle:该函数允许您将加载和错误回调函数合并到一个函数中(如果您确实不关心请求结果是成功或是出现错误,这将非常有用)。
示例代码
{
count: 4,
people: [
{
first_name: "Joe",
last_name: "Lennon",
age: 25
},{
first_name: "Darragh",
last_name: "Duffy",
age: 33
},{
first_name: "Jonathan",
last_name: "Reardon",
age: 30
},{
first_name: "Finian",
last_name: "O'Connor",
age: 23
}
]
}
dojo.xhrGet({
url: "data.json",
handleAs: "json",
load: function(data) {
var table = "<table border=\"1\">";
table += "<tr><th>Name</th><th>Age</th>
</tr>";
dojo.forEach(data.people, function(person) {
table += "<tr><td>";
table += person.first_name+" "+person.last_name;
table += "</td><td>";
table += person.age;
table += "</td></tr>";
});
table += "</table>";
dojo.place(table, dojo.body());
}
});