首页 > 解决方案 > JQuery Ajax 仅在第一次请求时加载微调器

问题描述

我有以下 JQuery:

    $(document).ready(function() {

        $(document).ajaxStart(function(){
            $("#spinner").css("display", "block");
        });
        $(document).ajaxComplete(function(){
            $("#spinner").css("display", "none");
        });

        $("#go").click(function() {
            $("#messager").html('<img src="spinner.gif" id="spinner">');
            $.post("send.php", {
                first:  first,
                second:  second
            }, function(result) {
                $("#messager").html(result);                
            });
        });

    });

这是 HTML:

<div id="messager"><img src="spinner.gif" id="spinner"></div>

这是我的回复,效果很好send.php

echo "something";

如果用户第一次点击,一切正常#go。首先显示微调器,然后显示“某物”。

但是,如果用户第二次单击#go微调器,则不会显示。

如果用户在没有重新加载站点的情况下单击,我必须如何更改每次显示微调器的代码#go

标签: phpjqueryhtmlajax

解决方案


$("#messager").html(result);

您正在用结果替换 messager 的全部内容。微调器是消息传递者的孩子。因此,它不再存在。


推荐阅读