我在运行SignalR 2.4.1和任何版本的JQuery 3.x时都有问题。
我有一个非常简单的中心,它可以发送推送通知到一个AngualrJS应用程序。我读到了旧的load,unload的问题,但不是这样的,因为它在2.2.1中被修复了。
我在控制台中没有任何错误,angualrJS工厂只是想让通知来的时候启动ON事件。
这是我使用的代码,这是非常标准的,并与JQuery < 3正常工作。
function signalRHubProxyFactory(serverUrl, hubName, startOptions) {
var connection = $.hubConnection(signalRServer);
var proxy = connection.createHubProxy(hubName);
connection.start().done(function () { });
return {
on: function (eventName, callback) {
proxy.on(eventName, function (result) {
$rootScope.$apply(function () {
if (callback) {
callback(result);
}
});
});
},
off: function (eventName, callback) {
proxy.off(eventName, function (result) {
$rootScope.$apply(function () {
if (callback) {
callback(result);
}
});
});
},
invoke: function (methodName, callback) {
proxy.invoke(methodName)
.done(function (result) {
$rootScope.$apply(function () {
if (callback) {
callback(result);
}
});
});
},
connection: connection
};
};
return signalRHubProxyFactory;
有人有同样的问题吗?
这是我的脚本列表
<script src="../Scripts/jquery-3.5.1.js"></script>
<script src="../Scripts/jquery.signalR-2.4.1.js"></script>
<script src="../Scripts/bootstrap.min.js"></script>
<script src="../Scripts/angular.min.js"></script>
谢谢你
对于每个人谁有这个问题,看起来像为了使AngularJS,SignalR和JQuery&gt;= 3工作,angular.js脚本必须添加在他们所有之前
<script src="../Scripts/angular.min.js"></script>
<script src="../Scripts/jquery-3.5.1.js"></script>
<script src="../Scripts/jquery.signalR-2.4.1.js"></script>
<script src="../Scripts/bootstrap.min.js"></script>