我在signalr javascript客户端中获得了未定义的连接ID

时间:2015-01-16 17:26:25

标签: javascript signalr

根据我遇到的所有文档,我应该可以在我的连接启动后调用$ .connection.hub.id。这是我的代码:

    var handshake = $.connection.handshakeHub;
    $.connection.hub.start().done(function () {
        console.dir($.connection.hub);
        console.log('connection started with id: ' + $.connection.hub.id);
        self.parentConnectionId = document.cookie.replace(/(?:(?:^|.*;\s*)connection\s*\=\s*([^;]*).*$)|^.*$/, "$1");
        handshake.server.connect(self.parentConnectionId, $.connection.hub.id);
    });

我成功连接并且握手代理连接呼叫命中服务器,因此它不像连接是轰炸。我还在连接后检查了dev工具中的属性,ID仍未定义。

我已尝试使用Signalr的2.1和2.2版,但没有运气。有人对此有经验吗?这杀了我。

3 个答案:

答案 0 :(得分:6)

对于其他可能在谷歌上搜索/搜索此内容的人(例如我),请确保您已启动了您的中心并且已连接。

$.connection.hub.start().done(function () {
    console.log("id : %o", $.connection.hub.id);
});

答案 1 :(得分:2)

我是个白痴。我的代理脚本标记包含在我的解决方案中的两个不同位置。删除一个解决了问题。

答案 2 :(得分:0)

我尝试过handshake.connection.id,这对我有用