我不确定这是一个错误,但当我尝试将版本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
时的错误快照:
错误讯息:
未捕获的TypeError:a.indexOf不是函数
未捕获错误:SignalR:未加载SignalR。请确保在〜/ signalr / js之前引用jquery.signalR-x.js。
我的问题:在这种情况下,jquery版本3.0.0
会发生什么?
答案 0 :(得分:4)
在信号器文件“jquery.signalR-2.2.0.min.js”中用$替换e.load
答案 1 :(得分:1)
如果您使用的是SignalR插件,jQuery v3.0.0 is apparently unsupported。插件文档似乎没有提供有关依赖项的任何信息,但examples in wiki加载jQuery 1.7。
你根本不能责怪jQuery团队:他们提供详细的发行说明,迁移指南甚至帮助插件。如果您不确定您的代码是否适用于较新版本,则不应升级: - )