c# - SignalR 客户端未定义

标签 c# javascript asp.net signalr

我有这个前端代码,可以在 sql 表中更新后立即更新表。 但我找不到解决这个问题的方法。

Uncaught TypeError: Cannot read property 'client' of undefined

<script src="Scripts/jquery-1.6.4.min.js"></script>
<script src="Scripts/jquery.signalR-2.0.2.min.js"></script>
<script src="signalr/hubs"></script>
<script>
    $(function () {
        // Proxy created on the fly
        var job = $.connection.DataHub;
        console.log(job);
        // 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: '../api/values',
            type: 'GET',
            datatype: 'json',
            success: function (data) {
                if (data.length > 0) {
                    $tbl.empty();
                    $tbl.append(' <tr><th>ID</th><th>Titulo</th>/tr>');
                    var rows = [];
                    for (var i = 0; i < data.length; i++) {
                        rows.push(' <tr><td>' + data[i].Id + '</td><td>' + data[i].titulo + '</td></tr>');
                    }
                    $tbl.append(rows.join(''));
                }
            }
        });
    }
</script>

如何解决这个问题?

最佳答案

我猜问题是您没有将集线器的名称更改为驼峰式大小写。见下文:

 var job = $.connection.dataHub;

如果您使用 HubName 属性,JavaScript 客户端上的名称不会更改为驼峰式大小写:

[HubName("DataHub")]
public class DataHub: Hub

此外,如果您使用 ASP.NET MVC 4 或 5 Razor View ,请使用波浪号来引用代理文件引用中的应用程序根目录:

<script src="~/signalr/hubs"></script>

关于c# - SignalR 客户端未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21945510/

相关文章:

javascript - 单击链接并使用 Javascript 在页面的另一部分中查看

c# - 你用你的旧唱片做什么?

javascript - 使用 Identity Server 4 和 ASP.NET Identity 添加外部登录

c# - 使用 C# 调整透明图像的大小

javascript - 样式化组件/React - 外部元素样式

c# - 向下拉列表中的列表添加空白选择项

javascript - 从 javascript 调用 webservice 并等待响应

c# - 使用字符串变量访问其他脚本中的公共(public)变量

c# - 使用 $Rev :$ SVN keyword in C# code?

javascript - 我可以基于多个属性进行 _.flatten 吗?