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

context-key を使用して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 に答える