gpt4 book ai didi

javascript - 无法读取未定义的属性 'counterHub'

转载 作者:行者123 更新时间:2023-12-01 01:31:47 25 4
gpt4 key购买 nike

我正在尝试使用 SignalR 制作一个简单的用户计数器,但由于未知的原因,我在控制台中收到此错误。我对 signalR 和 asp.net 非常陌生,但我所拥有的对我来说很有意义,而且我不知道为什么会收到错误。有人可以帮我解决这个问题并可能解释为什么会发生吗?

这是索引 View 中的代码。

<div class="row">
Number of online users <strong id="counter"></strong>
<script src="@Url.Content("~/Scripts/jquery-3.1.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.signalR-2.2.1.min.js")"></script>
<script src="@Url.Content("~/signalr/hubs")"></script>

<script>
$(function () {
var counterHub = $.connection.counterHub;
$.connection.hub.start().done(function () {

});
counterHub.client.UpdateCount = function (count) {
$("#counter").text(count);
}
});

</script>

集线器类:

public class CounterHub : Hub
{
static long counter = 0;
public override System.Threading.Tasks.Task OnConnected()
{
counter = counter + 1;
Clients.All.UpdateCount(counter);
return base.OnConnected();
}

public override System.Threading.Tasks.Task OnDisconnected(bool stopCalled)
{
counter = counter - 1;
Clients.All.UpdateCount(counter);
return base.OnDisconnected(stopCalled);
}

//public void Hello()
//{
// Clients.All.hello();
//}
}

还有 Startup.cs:

public partial class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();

ConfigureAuth(app);

}
}

最佳答案

不知道为什么,但这最终对我有用。我只是用 @section scripts 包围脚本标签:

    @section scripts{
<script src="~/Scripts/jquery.signalR-2.2.1.min.js"></script>

<script src="~/signalr/hubs"></script>
<script>
$(function () {
var myHub = $.connection.counterHub;
$.connection.hub.start().done(function () {

});
myHub.client.UpdateCount = function (count) {
$("#counter").text(count);
}
});

</script>
}

关于javascript - 无法读取未定义的属性 'counterHub',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41940008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com