1

我不确定这是一个错误,但是当我尝试将版本更改为3.0.0version 时2.2.3,它工作正常。

我正在使用信号器进行演示,如下所示:

在 html 中:

<button>Click me</button>
// <script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>
<script src="https://code.jquery.com/jquery-2.2.3.min.js"></script>
<script src="~/scripts/jquery.signalR-2.2.0.js"></script>
<script src="~/signalr/hubs"></script>
<script src="~/scripts/app.js"></script>

app.js

var hub = $.connection.hub;
var chat = $.connection.chat;

hub.start().done(function () {
    $('button').click(function () {
        chat.server.sayHello('Hermione').done(function (msg) {
            alert(msg)
        });
    });
});

在集线器中:

public string SayHello(string name)
{
    return "Hello " + name;
}

这是我尝试使用 jquery 版本时的错误快照3.0.0

1

错误信息:

未捕获的 TypeError:a.indexOf 不是函数

未捕获的错误:SignalR:未加载 SignalR。请确保 jquery.signalR-x.js 在 ~/signalr/js 之前被引用。

我的问题:3.0.0在这种情况下,jquery 版本会发生什么?

4

2 回答 2

5

只需在信号器文件“jquery.signalR-2.2.0.min.js”中将 e.load 替换为 $

于 2016-07-18T13:42:42.477 回答
1

如果你使用的是SignalR插件,jQuery v3.0.0 显然是不支持的。插件文档似乎没有提供有关依赖项的任何信息,但wiki 中的示例加载 jQuery 1.7。

你根本不能为此责怪 jQuery 团队:他们提供了详细的发行说明、迁移指南,甚至还有一个帮助插件。如果您不确定您的代码是否适用于较新的版本,则不应升级 :-)

于 2016-06-27T11:07:59.833 回答