SignalR 2.X和JQuery 3.X的 "ON "没有被激发。

问题描述 投票:0回答:1

我在运行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>

谢谢你

jquery angularjs bootstrap-4 signalr
1个回答
0
投票

对于每个人谁有这个问题,看起来像为了使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>

© www.soinside.com 2019 - 2024. All rights reserved.