2

我有以下代码:

function doDialogAjax(link: Link. modal: Modal) {
    $.ajax( link.Url,
    {
        cache: false,
        dataType: 'html'
    })
        .done(onDialogDone)
        .fail(onDialogFail);
}

function onDialogDone(data: any, textStatus: string, jqXHR: JQueryXHR) {
    var x = data;
    // I need to access link.abc and modal.def properties here
}

如何将链接对象发送到我的 onDialogDone() 函数?我似乎记得有一些方法可以发送指定的上下文信息对象,但我找不到任何这样的例子。

4

2 回答 2

2

您可以使用上下文键来更改this回调内部的值:

function doDialogAjax(link: Link. modal: Modal) {
    $.ajax( link.Url,
    {
        cache: false,
        dataType: 'html',
        context: {
           link: link,
           modal: modal
        }
    })
        .done(onDialogDone)
        .fail(onDialogFail);
}

function onDialogDone(data: any, textStatus: string, jqXHR: JQueryXHR) {
    var x = data;
    // this refers to the context-object, with keys [link, modal]
    console.log(this.link);
    console.log(this.modal)
}
于 2012-11-12T12:19:23.533 回答
-1
.done(onDialogDone({link : link, modal : modal}, 'success', data))

像这样的东西?

于 2012-11-12T12:18:21.307 回答