【发布时间】:2016-07-19 20:45:43
【问题描述】:
我不确定这是不是一个错误,但是当我尝试将版本 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时的错误快照:
错误信息:
未捕获的类型错误:a.indexOf 不是函数
未捕获的错误:SignalR:未加载 SignalR。请确保 jquery.signalR-x.js 在 ~/signalr/js 之前被引用。
我的问题:在这种情况下,jquery 版本3.0.0 会发生什么?
【问题讨论】:
-
您是否包含了 jquery 3.0 迁移插件? github.com/jquery/…
-
@freedomn-m 根据您的建议,我已将
https://code.jquery.com/jquery-migrate-3.0.0.js添加到页面中,并且可以正常工作。谢谢! -
除了我的错字之外,我的意思是插件应该告诉你发生了什么变化,而不是为你掩盖变化——检查 console.log——你(和你的用户)会收到关于过时方法的警告每次通话。