繁体   English   中英

无法读取未定义(SignalR)的属性“ myHub”

[英]Cannot read property 'myHub' of undefined (SignalR)

我收到Javascript尝试通过SignalR应用程序将客户端连接到服务器的错误消息“无法读取未定义的属性'myHub'”。 myHub.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
using Microsoft.AspNet.SignalR.Hubs;

namespace ChatForm
{
    [HubName("myHub")]
    public class MyHub : Hub
    {
        public void addChat(string message)
        {
            Clients.All.addChat(message);
        }
    }
}

chat.cshtml

@{
    ViewBag.Title = "Chat";
}
<h3>@ViewBag.Message</h3>
<h2>@ViewBag.Title</h2>
<div class="container">
    <input type="text" id="message" placeholder="Share what's in your mind..." />
    <input type="button" id="sendmessage" value="Send" />
    <br />
    <br />
    <label  id="label1">Group Chat Conversations History</label>
    <div>
        <input type="hidden" id="displayname" />
        <ul id="discussion"></ul>
    </div>   
</div>
@section scripts {

    <script src="~/Scripts/jquery.signalR-2.1.0.min.js"></script>
    <script src="~/signalr/hub"></script>
    <script src="~/Scripts/chat.js"></script>

}

chat.js使代理$ .connection.myHub.logging = true;

$.connection.myHub.start()
    .done(function () {
        console.log("Worked")

    })
    .fail(function () { alert("Error!!") });

您的错误意味着$.connection是未定义的。 问题是为什么?

我认为您忘记加载jquery。 尝试在signalR之前加载jquery bundle。

我检查了您的代码示例,尝试加载jquery.signalR-2.1.0.min.js但未添加jQuery。 尝试按@Jimmy Grande的说明加载jQuery。

另外,请查看其他C# SignalR教程,以便您对SignalR的工作有更多的了解,因为有时这可能很棘手:

ASP.NET SignalR集线器指南

SignalR简介

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM