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

时间:2018-03-04 23:57:19

标签: javascript ajax asp.net-mvc bootbox

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

实际上,一切似乎都运行良好但第二次调用只在我在浏览器中设置断点并进入时才完成。没有它看起来就像是第二次调用刚被跳过。我在控制台中找不到任何错误消息。

以下是代码:

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中。在两个浏览器中,它都可以在设置断点时起作用。

所以问题是:代码是否有问题,即使它似乎有用或者我错过了其他的东西?

感谢任何帮助和建议。提前谢谢。

1 个答案:

答案 0 :(得分: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);
}