axja成功调用第一次调用回调仅在设置断点时有效

问题描述 投票:0回答:1

我有一个aps.net MVC网页包含。 Bootstrap和一些插件。要删除我要进行确认的记录,我使用Bootbox插件。删除后(第一次ajax调用)我想重新加载页面(如果成功的话,第二次ajax调用)

实际上,一切似乎工作正常,但第二次调用只在我在浏览器中设置断点并进入时才完成。没有它看起来就像第二次调用刚被跳过。我在Console中找不到任何错误消息。

这是代码:

bootbox.confirm({
    title: 'Kategorie löschen',
    message: '<div class="text-center text-danger">Möchten Sie die Kategorie wirklich löschen?</div>',
    buttons: {
        confirm: {
            label: 'Ja',
            className: 'btn-success'
        },
        cancel: {
            label: 'Nein',
            className: 'btn-danger'
        }},
    callback: function (result) {
        if (result == true) {
            $.ajax(
                {
                    url: '@Url.Action("CategoryDelete", "Admin")',
                    type: 'POST',
                    data: { cid : catid },
                    success: function (delresult) {
                        if (delresult.success) {
                            $.ajax({
                                url: '@Url.Action("CategoryList", "Admin")'
                            });
                        }
                        else {
                            bootbox.alert({
                                title: 'Kategorie löschen',
                                message: '<div class="text-center text-danger">Die Kategorie konnte nicht gelöscht werden!</div>',
                                buttons: {
                                    ok: {
                                        label: 'ok',
                                        className: 'btn-default'
                                    }
                                }
                            });
                        }
                    }
                }
            )
        }}
})

由于是第一个问题,我不知道是否需要提供任何进一步的信息。啊,这发生在Firefox和Chrome中。在两个浏览器中,它在设置断点时起作用。

所以问题是:代码是否有问题,即使它似乎工作或我错过了其他什么?

任何帮助和建议表示赞赏。先感谢您。

javascript ajax asp.net-mvc bootbox
1个回答
0
投票

如果您打算在删除操作后重新加载页面,请执行以下操作:

$.ajax({
    url: '@Url.Action("CategoryList", "Admin")'
});

不会做你认为它做的事情。要重新加载页面,您需要设置页面的location

if (delresult.success) {
    window.location = '@Url.Action("CategoryList", "Admin")';
}

或者,只需使用reload函数:

if (delresult.success) {
    window.location.reload(true);
}
© www.soinside.com 2019 - 2024. All rights reserved.