gpt4 book ai didi

jquery - 函数似乎没有返回 true

转载 作者:行者123 更新时间:2023-12-01 03:19:54 25 4
gpt4 key购买 nike

我正在使用 DataTables 插件和 colorbox 插件。如果 .post 成功,我试图让我的函数返回 true。

jQuery('.msg_delete').live('click', function () {
var aData = oTable.fnGetData(nTr);
if (deleteMessage(aData[6]) == true) {
jQuery.colorbox.close();
oTable.fnDeleteRow(nTr);
}
return false;
});

function deleteMessage(messageID) {
jQuery.post('ajax/msg_functions.asp', { action: 'delete', messageid: messageID }, function (data) {

})
.success(function () { return true; })
.error(function () { alert("There was an error while trying to make this request; If it persists please contact support"); })
;
}

现在它正确地完成了发布。我知道这一点是因为该消息已被删除。所以我假设它会转到 .success 并且我认为现在会返回 true。但它似乎并没有这样做。

它似乎永远不会去 colorbox.close()fnDeleteRow。任何人都可以看到我在这里缺少什么吗?

最佳答案

您的返回仅从当前函数返回,该函数是您传递到 $.ajax 的匿名函数。

您的代码将无法按照当前的组织方式运行,无法在示例中运行。

jQuery('.msg_delete').live('click', function() {
var aData = oTable.fnGetData(nTr);
deleteMessage(aData[6]).done(function(){
jQuery.colorbox.close();
oTable.fnDeleteRow(nTr);
});
return false;
});

function deleteMessage(messageID) {
return jQuery.post('ajax/msg_functions.asp', {
action: 'delete',
messageid: messageID
}).fail(function() {
alert("There was an error while trying to make this request; If it persists please contact support");
});
}​

此外,.success 已贬值,请使用 .done

编辑:

为了完整起见,您可以使用 async:false 并将 truefalse 存储在变量中,然后从函数返回该值,但是,由于 async:false 会暂停代码执行和用户交互,因此效率较低,不推荐使用。

关于jquery - 函数似乎没有返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11140795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com