javascript - 如何将对象的副本传递给 $.ajax 的 .done() 中的函数?

标签 javascript ajax jquery typescript

我有以下代码:

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() 函数?我 似乎记得有一些方法可以发送指定的上下文信息对象,但我找不到任何这样的例子。

最佳答案

您可以使用上下文键来更改回调中 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)
}

关于javascript - 如何将对象的副本传递给 $.ajax 的 .done() 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13343557/

相关文章:

javascript - 让 html 元素在 jQuery 移动设备上跟随手指滑动

javascript - 防止使用 iOS 返回按钮提交表单

javascript - 如何像这样对对象数组进行分组?并删除重复项?

javascript - 如何编写具有异步设置和拆卸操作的测试?

javascript - 有没有办法使用 :remote => true? 从 link_to 标记调用 Rails 3 函数

javascript - 对数组进行字符串搜索不会返回任何结果

javascript - Bootstrap 轮播过渡和上一个/下一个按钮不起作用

javascript - 如何像 vfs_fonts.js 一样将字体文件 ttf 转换为字符串数据?

php - 在ajax x-editable之后用条件更新php中的sql表

c# - JSon 返回一串 HTML 表格显示在 jQuery 数据表的 fnopen 中