在ajax成功执行和定位后,如何在div中显示消息。Reload()

时间:2019-02-08 06:05:12

标签: javascript jquery asp.net-mvc

在ajax成功调用中,我正在执行location.Reload()。页面重新加载后,我想显示一条消息“数据已成功上传”。但是我的页面被重新加载,消息被丢弃。

var data = {
    "strSelectedIds": selectedArray.join(',')
};
var countofProcessedRecords = selectedArray.length;
$("#divLoader").removeClass("display-none");
$.ajax({
    url: UrlSettings.ProcessSubscriptioData,
    type: 'POST',
    contentType: "application/json; charset=utf-8",
    dataType: "html",
    data: JSON.stringify(data),
    success: function (response) {
        location.reload();
        $("#msg").append(
            '<div class="alert alert-success hideit alertSuc">' + countofProcessedRecords + 'subscriptions uploaded successfully.</div >')
        setTimeout(function () {
            $("#divLoader").addClass("display-none");
        }, 500);

    },
    error: function (e) {
        $("#divLoader").addClass("display-none");
    }
});

有人可以帮我吗?

先谢谢您。

4 个答案:

答案 0 :(得分:1)

我认为你应该使用 load() 而不是 location.reload() 因为 load() 将在 div 中显示您想要的内容,而 location.reload 将刷新整个页面 这里有一些 load() 的例子: 在 HTML 代码中:

<div id="display-content"></div>

在 Jquery 中你需要这样的东西:

$("#display-content").load().fadeIn("fast");

你也可以在 load() 中加载文件,例如:

var id = "<?php echo $_GET['id'];?>";
                                                                          
$('#display-content').load('view.php?id='+id).fadeIn("slow");

                                                                                        
                                                                                    

答案 1 :(得分:0)

要在重新加载后生存下来,您需要使用window.localStorage之类的持久性存储。 然后,您将一个true值保存到存储中,并在重新加载后检查该值是否为true

因此,在成功执行Ajax调用之后,但在重新加载之前,请保存以下值: localStorage.ajaxSuccess = 'true';

然后在重新加载之后,您可以检查该值是否为true,并显示消息:

if (localStorage.ajaxSuccess === 'true') {
// Display the message here
}

但是,此方法取决于浏览器的兼容性。并且某些用户可以禁用localStorage或以隐身模式使用Safari。 因此,另一种方法是使用参数而不是page.reload()加载URL: www.example.com/uploadPage/?ajaxSuccess

然后在重新加载后检查URL是否包含ajaxSuccess字符串。

答案 2 :(得分:0)

使用SessionStorage进行跟踪:

TRAIN_DATA = [
    ("Who is Shaka Khan?", {"entities": [(7, 17, "PERSON")]}),
    ("I like London and Berlin.", {"entities": [(7, 13, "LOC"), (18, 24, "LOC")]}),
]

答案 3 :(得分:0)

在您重新加载页面之前可能会有一些延迟。像这样:

$.ajax({
    type: 'POST',
    url: 'url',
    data: { id: id },
    success: function() { 
        $('#alertMessage').html('<p>success message</p>'); 
        setTimeout(function(){
           location.reload(); 
        }, 800);
    }
});