【发布时间】:2011-08-20 17:55:51
【问题描述】:
我正在尝试为以下场景实现 jQuery Deferred.pipe() 方法:
- 通过 $.ajax() 在 DB 中添加用户
- 无论用户是否正确添加,都会得到响应。
- 如果添加成功,通过$.ajax()从服务器获取所有用户列表
- 通过 jQuery 模板显示列表
这是我尝试过的:
var addUserSuccess = function( data ) {
if ( data.returnCode !== "success" ) {
return $.Deferred().reject('Error saving user');
}
getUsers();
}
var addUser = function() {
return $.ajax(url, {
type: "POST",
data: { username: 'test' },
contentType: "application/json",
dataType: "json"
});
}
var displayUsers = function( data ) {
$('#myTmpl').tmpl(data.d).appendTo('#myDiv');
}
var getUsers = function () {
return $.ajax(url, {
type: "GET",
data: {},
contentType: "application/json",
dataType: "json"
});
}
$.when(addUser()).pipe(addUserSuccess).then(displayUsers)
但这不起作用。我知道有什么遗漏或错误。有什么帮助吗?
【问题讨论】:
标签: jquery deferred-execution deferred-loading