[asp.net-mvc]那么 SignalR-无法创建代理,因为它引发未捕获的 typeerror 浏览器控制台中

发布时间: 2016/10/7 23:50:53
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我现在在这里我使用那么 signalR 实时数据库通知我试图创建代理使用以下脚本的 Asp.Net MVC 应用程序

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>JobStatus</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/jquery")
    <script src="~/Scripts/jquery.signalR-2.0.1.min.js"></script>
    <script src="~/signalr/hubs" type="text/javascript"></script>
    <script type="text/javascript">

        $(function () {

            // Proxy created on the fly
            var job = $.connection.jobHub;

            // Declare a function on the job hub so the server can invoke it
            job.client.displayStatus = function () {
                getData();
            };

            // Start the connection
            $.connection.hub.start();
            getData();
        });

        function getData() {
            var $tbl = $('#tblJobInfo');
            $.ajax({
                url: '../JobInfo/',
                type: 'GET',
                datatype: 'json',
                success: function (data) {
                    if (data.length > 0) {
                        $tbl.empty();
                        $tbl.append(' <tr><th>ID</th><th>Name</th><th>Last Executed Date</th><th>Status</th></tr>');
                        var rows = [];
                        for (var i = 0; i < data.length; i++) {
                            rows.push(' <tr><td>' + data[i].JobID + '</td><td>' + data[i].Name + '</td><td>' + data[i].LastExecutionDate.toString().substr(0,10) + '</td><td>' + data[i].Status + '</td></tr>');
                        }
                        $tbl.append(rows.join(''));
                    }
                }
            });
        }
    </script>
</head>
<body>
    <div>
        <table id="tblJobInfo" style="text-align:center;margin-left:10px"></table>
    </div>
</body>
</html>

我那么 SignalR 集线器类是,如下所示

public class JobHub : Hub
    {
        public static void Show()
        {
            IHubContext context = GlobalHost.ConnectionManager.GetHubContext<JobHub>();
            context.Clients.All.displayStatus();
        }
    }

但由于某种原因而转到我的视图在浏览器上看看控制台它引发我以下错误

TypeError: $.connection is undefined    

var job = $.connection.jobHub;

不能确定如何处理这

解决方法 1:

如果请检查︰

~/Scripts/jquery.signalR-2.0.1.min.js

正确是可用和装载

你也可以从 cdn 中引用它︰

http://ajax.aspnetcdn.com/ajax/signalr/jquery.signalr-2.0.1.min.js
赞助商