【问题标题】:Ajax success code not loading in synchronous mannerAjax 成功代码未以同步方式加载
【发布时间】:2018-08-15 19:52:32
【问题描述】:

我们期待以下事情: 想要显示具有更新值的页面。 然后显示会话属性。

以下代码发生了什么,首先显示会话消息,然后页面正在重新加载。

$.ajax({
            type: "POST",
            url: "startSelectedServer", 
            data: { selectedJvmHostIp : selectedJvmHostIp, selectedJvmPort : selectedJvmPort },                
            success: function(result){
                1.   location.reload();
                2.   $("#save-message-div").show(); 

            },
            error : function(e) {

            }
        });

<div id="save-message-div" style="background-color: #DFF2BF; padding: 8px;display:none">
            <h2 id="save-message" style="color: #4F8A10"></h2>
        </div>

但我们希望在重新加载页面后显示消息。

上面2是先执行,然后1是执行。

【问题讨论】:

  • 重新加载并同时显示执行。 Show 不会等待重新加载完成,因此它会在您的页面正在重新加载时显示 div。此外,如果您想在当前页面上显示一个 div,因为它正在重新加载,您需要在页面的代码中添加逻辑,以便在需要时显示 div,因为您的页面已经重新加载,JavaScript 也是。

标签: javascript jquery html ajax spring-mvc


【解决方案1】:

好的,在我看来,您正在尝试执行服务器端功能,然后刷新页面并显示一条消息,表明该功能已发生。

就目前而言这很好,但不会按照您的方式工作。为了最接近您的设想,您需要在页面加载时加入条件逻辑,以确定是否适合显示div

即使您的页面在重新加载之前没有显示 div,它的编写方式,当页面重新加载时,它仍然不会执行相同的脚本 - 它是一个只有您传递给它的内容的空白板.

我不知道你为什么要重新加载页面;您可以而且应该 [使用 ajax],只需使用从服务器异步返回的信息客户端。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    相关资源
    最近更新 更多