一直在挣扎这个错误贴两个小时..
TypeError: $.connection is undefined
[Break On This Error]
var chatHubClient = $.connection.chatHub;
Run Code Online (Sandbox Code Playgroud)
这是我的Chat.cs(在控制器文件夹中 - 我猜这是我做错了,但我找不到任何关于放置它或如何路由它的文档)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SignalR.Hubs;
namespace SingalrTest.Controllers
{
public class Chat
{
private readonly static Lazy<Chat> _instance = new Lazy<Chat>(() => new Chat());
public static Chat Instance
{ get { return _instance.Value; } }
}
[HubName("chatHub")]
public class ChatHub : Hub
{
private readonly int TimeoutInSeconds = 30;
private readonly Chat _chat;
public ChatHub() : this(Chat.Instance) { }
private …Run Code Online (Sandbox Code Playgroud) 带引导程序的VS 2013 WebForms模板.而且我有
<script src="/Scripts/jquery-2.0.3.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.signalR-2.0.0.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/signalr/hubs"></script>
Run Code Online (Sandbox Code Playgroud)
(用来尝试signalr/hubs和ResolveClientUrl("~/signalr/hubs")等...)
和
<script type="text/javascript">
$(function () {
// Proxy created on the fly connection
var chat = $.connection.chat;
Run Code Online (Sandbox Code Playgroud)
我曾经尝试过各种各样的变种,并且习惯了很多关于这个问题的搜索,但现在仍然找不到解决方案.当我检查加载的页面源并单击时,signalr/hubs我可以看到加载的代理,我也可以在那里看到聊天.
但我仍然收到 Uncaught TypeError: Cannot read property 'chat' of undefined