x-editable-在Proeach循环中使用Promise进行手动提交

时间:2018-06-20 09:39:34

标签: javascript jquery ajax promise x-editable

我正在使用x-editable编辑页面上的多个字段。仅在通过单击保存按钮手动触发时,更改才会提交。

现在,当所有更改都已成功提交后,我只想执行一次特定的ajax请求。

这是我当前用于提交更改的代码:

$('#div').on('click', '#save-btn', function() {
    $(".editable-unsaved" ).each(function() {
        $(this).editable('submit', { 
            url: 'posturl.php',
            success: function(data, config) {
                this.removeClass('editable-unsaved');
                //success handling
            },
            error: function(errors) {
                 //error handling
            }
        });
    });
});

在x可编辑的文档页面上,有以下示例,该示例用于调用自定义函数以使用承诺来验证成功/错误来提交数据:

url: function(params) {
    var d = new $.Deferred();
    if(params.value === 'abc') {
        return d.reject('error message'); //returning error via deferred object
    } else {
        //async saving data in js model
        someModel.asyncSaveMethod({
           ..., 
           success: function(){
              d.resolve();
           }
        }); 
        return d.promise();
    }
}

但是,我似乎无法弄清楚如何在.each循环中使用它来跟踪成功的异步请求。我用不同的方法进行了测试,但没有一个起作用,很抱歉,我无法再为所有这些失败提供代码。如果有人甚至可以提供带有嘲笑的jsfiddle,我将非常感激。

0 个答案:

没有答案