Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载集线器时出错_Javascript_Signalr - Fatal编程技术网

Javascript 加载集线器时出错

Javascript 加载集线器时出错,javascript,signalr,Javascript,Signalr,我正在使用信号器创建聊天应用程序。我添加了signalr.js1.0.1。 当应用程序启动时,我在global.asax中创建了signalr hub,如下所示: RouteTable.Routes.MapHubs(new Microsoft.AspNet.SignalR.HubConfiguration() { EnableCrossDomain = true }); 但我的问题是它有时会像下面这样向我显示错误 Uncaught Error: SignalR: Error loading

我正在使用信号器创建聊天应用程序。我添加了signalr.js1.0.1。 当应用程序启动时,我在global.asax中创建了signalr hub,如下所示:

RouteTable.Routes.MapHubs(new Microsoft.AspNet.SignalR.HubConfiguration() { EnableCrossDomain = true }); 
但我的问题是它有时会像下面这样向我显示错误

Uncaught Error: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.
未捕获错误:信号器:加载集线器时出错。确保您的集线器参考是正确的,例如。
编辑: 我已经为signalr动态添加了所有文件

<script lang="javascript" type="text/javascript">

    //add all js files for signalR chat dynamically to body
    function SetSignalRJs() {
        var fileref = document.createElement('script');
        fileref.setAttribute("type", "text/javascript");
        fileref.setAttribute("src", "Include/JS/JqueryPlugin/SignalR/jquery.signalR-1.0.1.js");

        document.getElementsByTagName("body")[0].appendChild(fileref);
    }
    function SetHub() {
        var fileref = document.createElement('script');
        fileref.setAttribute("type", "text/javascript");
        fileref.setAttribute("src", "signalr/hubs");
        document.getElementsByTagName("body")[0].appendChild(fileref);
    }
    function SetChatJs() {
        var fileref = document.createElement('script');
        fileref.setAttribute("type", "text/javascript");
        fileref.setAttribute("src", "Include/JS/CollectiveIntelligence/ChatApplication.js");
        document.getElementsByTagName("body")[0].appendChild(fileref);
    }

    //apply timeout for all js files
    setTimeout(SetSignalRJs, 1000);
    setTimeout(SetHub, 5000);
    setTimeout(SetChatJs, 6000);

//将signalR聊天的所有js文件动态添加到body
函数SetSignalRJs(){
var fileref=document.createElement('script');
setAttribute(“类型”、“文本/javascript”);
fileref.setAttribute(“src”,“Include/JS/JqueryPlugin/signal/jquery.signal-1.0.1.JS”);
document.getElementsByTagName(“正文”)[0].appendChild(fileref);
}
函数SetHub(){
var fileref=document.createElement('script');
setAttribute(“类型”、“文本/javascript”);
fileref.setAttribute(“src”、“信号器/集线器”);
document.getElementsByTagName(“正文”)[0].appendChild(fileref);
}
函数SetChatJs(){
var fileref=document.createElement('script');
setAttribute(“类型”、“文本/javascript”);
setAttribute(“src”,“Include/JS/CollectiveIntelligence/ChatApplication.JS”);
document.getElementsByTagName(“正文”)[0].appendChild(fileref);
}
//为所有js文件应用超时
设置超时(设置信号RJS,1000);
setTimeout(SetHub,5000);
setTimeout(SetChatJs,6000);

如果要动态加载脚本,应使用脚本加载程序。 对于快速简单的解决方案,您可以尝试使用

对于具有依赖关系管理等功能的更强健的解决方案,值得研究:


您是否在html页面中包含了
/signal/hubs
?请发布你的html和javascript代码。我已经编辑了这个问题。请先尝试更新你的signalR版本,这是一个选项吗?我有时只能看到这个错误。我不明白原因。如果在SetHub之前调用SetChatJS,就会出现错误。但是我已经应用了setTimeout,它不工作,我已经使用了head.js,现在它工作得很好。不需要使用setTimeOut。谢谢你的建议。