SignalR未加载。请确保在〜/ signalr / js之前引用jquery.sigalR-x.js

时间:2016-05-30 09:44:24

标签: asp.net signalr signalr-hub

我在页面中动态引用了两个库。当我浏览我的应用程序时,下面提到的错误没有进入Chrome浏览器。但是在Internet Explorer中会发生错误。

var signalRLibrary = document.createElement('script');
signalRLibrary.type = "text/javascript";
signalRLibrary.src = 'jquery.signalR-2.1.2.min.js';
document.getElementsByTagName('head')[0].appendChild(signalRLibrary);

var signlaRHub = document.createElement('script');
signlaRHub.type = "text/javascript";
signlaRHub.src = "~/signalr/hubs";
document.getElementsByTagName('head')[0].appendChild(signlaRHub);

在页面加载期间,由于未加载SignalR,因此出现以下错误。请确保在〜/ signalr / js之前引用jquery.signalR-x.js。

if (typeof ($.signalR) !== "function") {
        throw new Error("SignalR: SignalR is not loaded. Please ensure jquery.signalR-x.js is referenced before ~/signalr/js.");
}

enter image description here enter image description here

1 个答案:

答案 0 :(得分:5)

  

JavaScript客户端需要引用jQuery和SignalR核心   JavaScript文件。 jQuery版本必须是1.6.4或更高版本   版本,例如1.7.2,1.8.2或1.9.1。如果你决定使用   生成代理,您还需要对SignalR生成的引用   代理JavaScript文件。以下示例显示了引用内容   可能看起来像在使用生成的代理的HTML页面中。

<script src="Scripts/jquery-1.10.2.min.js"></script>
<script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
<script src="signalr/hubs"></script>
     

这些引用必须包含在此顺序中:首先是jQuery,SignalR   之后的核心,以及SignalR代理的最后一次。
   - 来自ASP.NET SignalR Hubs API Guide - JavaScript Client

你的问题是,不知何故,你加载引用的顺序是错误的。