了解jQuery Deferred.pipe()

前端之家收集整理的这篇文章主要介绍了了解jQuery Deferred.pipe()前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图为以下场景实现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: {},dataType: "json"
    });
}

$.when(addUser()).pipe(addUserSuccess).then(displayUsers)

但这不行。我知道有一些遗漏或错误。任何帮助?

解决方法

在addUseRSSuccess中,你应该返回getUsers。这是一个简单的错字,你的主意是完美的,正在使用管道,因为它应该是,很好:)

猜你在找的jQuery相关文章