Javascript 如何使用Ajax刷新特定标签?

Javascript 如何使用Ajax刷新特定标签?,javascript,asp.net,ajax,webforms,Javascript,Asp.net,Ajax,Webforms,我试图使用AJAX和interval每5秒更新一次标签,但实际上,只有手动点击刷新按钮,标签才会生效。在不重新加载页面的情况下,该值不会更改 我正在使用Webforms 客户端: JavaScript: setInterval(function () { function GetStatus() { $.ajax({ type: "POST", url: "RunningConsole

我试图使用AJAX和interval每5秒更新一次标签,但实际上,只有手动点击刷新按钮,标签才会生效。在不重新加载页面的情况下,该值不会更改

我正在使用Webforms

客户端: JavaScript:

    setInterval(function () {
        function GetStatus() {
            $.ajax({
                type: "POST",
                url: "RunningConsolePage.aspx/GetStatus",
                data: '{name: "' + $("#<%=lblStatus.ClientID%>")[0].value + '" }',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: function (response) {
                    alert(response.d);
                }
            });
        }
        function OnSuccess(response) {
            $("#<%=lblStatus.Text=GetStatus()%>")
        }
    }, 5);

所以,将您的方法放在间隔之外,然后在间隔中调用它。同样,它是以毫秒为单位的,所以5并不意味着5秒,而是5毫秒

<script>
    setInterval(GetStatus, 5000);

function GetStatus() {
            $.ajax({
                type: "POST",
                url: "RunningConsolePage.aspx/GetStatus",
                data: '{name: "' + $("#<%=lblStatus.ClientID%>")[0].value + '" }',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: function (response) {
                    alert(response.d);
                }
            });
        }
        function OnSuccess(response) {
            $("#<%=lblStatus.ClientID%>").text(response.d);
        }
</script>

设置间隔(GetStatus,5000);
函数GetStatus(){
$.ajax({
类型:“POST”,
url:“RunningConsolePage.aspx/GetStatus”,
数据:“{name:”+$(“#”)[0]。值+'''}',
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:一旦成功,
故障:功能(响应){
警报(response.d);
}
});
}
函数OnSuccess(响应){
$(“#”)文本(答复d);
}
提示:1000毫秒=1秒

同时检查OnSuccess方法中的选择器,它是错误的。改变它,它就会工作

还可以在此处找到更多有用的信息:


干杯,

当使用
ClientIDMode=“Static”
并将
函数OnSuccess(response){
body更改为:
$('#').html(response)
时是否也会导致此问题?我不确定您为什么要使用
GetStatus()
介于
之间,因为在第一次加载页面时,这只会执行一次,而且您似乎没有使用OnSuccess response参数中接收的响应数据。
[System.Web.Services.WebMethod]
        public static string GetStatus()
        {
            Random random = new Random();
            const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            return new string(Enumerable.Repeat(chars, 11)
              .Select(s => s[random.Next(s.Length)]).ToArray());
        }
<script>
    setInterval(GetStatus, 5000);

function GetStatus() {
            $.ajax({
                type: "POST",
                url: "RunningConsolePage.aspx/GetStatus",
                data: '{name: "' + $("#<%=lblStatus.ClientID%>")[0].value + '" }',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: function (response) {
                    alert(response.d);
                }
            });
        }
        function OnSuccess(response) {
            $("#<%=lblStatus.ClientID%>").text(response.d);
        }
</script>