我在ASPX页面中添加了SignalR脚本。但是当页面加载时,它在控制台中出错:无法读取未定义的属性“hub”。这里是我的代码:(所有这些代码都放在“asp:Content”标签中)
<script src="/Js/jquery-1.10.2.min.js"></script>
<!--Reference the jQuery library. -->
<script src="/Js/jquery.signalR-2.1.2.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="http://myhost/signalr/hubs"></script>
<script type="text/javascript" src="../Js/tooltip.js"></script>
<script type="text/javascript">
$(function () {
console.log($.connection);
$.connection.hub.url = 'http://myhost/signalr';
// Declare a proxy to reference the hub.
var chat = $.connection.myHub1;
});
</script>
当我在普通的html页面中声明这个脚本时,它可以成功运行。
任何人都有想法。谢谢。
出现此问题,因为您的寻址不匹配。更改
<script src="/Js/jquery-1.10.2.min.js"></script>
<!--Reference the jQuery library. -->
<script src="/Js/jquery.signalR-2.1.2.min.js"></script>
至
<script src="~/Js/jquery-1.10.2.min.js"></script>
<!--Reference the jQuery library. -->
<script src="~/Js/jquery.signalR-2.1.2.min.js"></script>
并确保“jquery.signalR-2.1.2.min.js”和“jquery-1.10.2.min.js”文件位于站点根目录的“js”文件夹中。