jquery-3.0.0.min.js 中的错误代码

Error code in jquery-3.0.0.min.js

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

我正在用 signalr 做一个演示,像这样:

在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 时的错误快照:

错误信息:

Uncaught TypeError: a.indexOf is not a function

Uncaught Error: SignalR: SignalR is not loaded. Please ensure jquery.signalR-x.js is referenced before ~/signalr/js.

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

如果您正在使用 SignalR plug-in, jQuery v3.0.0 is apparently unsupported. The plug-in documentation does not seem to provide any information about dependencies but examples in wiki 加载 jQuery 1.7.

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

只需在信号器文件中用 $ 替换 e.load "jquery.signalR-2.2.0.min.js"