JavaScript中的函数未调用SignalR

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

我有一个MVC应用程序,该应用程序将signalR用于event。在我看来,我有4个按钮登录,打开,refreshToken,注销。在我看来,所有3个按钮的clieck事件均有效,即登录,refreshToken和注销,但打开按钮的onClick不起作用。下面是我的客户端代码

  $.connection.hub.start().done(function () {
            $('#login').click(function () {
                // call the Login method on the hub
                var tokenRequestResponse = integrationServerHub.server
                    .login("localhost:1500", false, $('#username').val(), $('#password').val())
                    .done(processTokenRequestResponse);
                // clear the events text box
                $('#events').val('');
                $('#events').prepend("login.click" + "\n");
            });
            $('#refresh').click(function () {
                $('#events').prepend("refresh.click" + "\n");
                // call the Refresh method on the hub
                var tokenRequestResponse = integrationServerHub.server
                    .refreshToken($('#accessToken').val(), $('#refreshToken').val())
                    .done();
            });
            $('#logout').click(function () {
                $('#events').prepend("logout.click" + "\n");
                // call the Logout method on the hub
                integrationServerHub.server
                    .logout($('#accessToken').val())
                    .done(function (tokenRequestResponse) {
                });
            });
            $('#open').click(function () {
                $('#events').prepend("open.click" + "\n");
                //Call Set Sing on method on hub
                integrationServerHub.server.SetSignOnToCampaign($('#accessToken').val())
                    .done();
                $('#events').prepend("SignOn.click" + "\n");
            });
        });

我在中心上具有SignOn方法。但是,当我单击“打开”按钮时,什么也没有发生。但是其他3个按钮按预期工作。有什么我想念的吗?

javascript signalr client invoke
1个回答
0
投票

您的方法是“ SignOn”还是“ SetSignOnToCampaign”?您的代码说了一件事,您的注释说了另一件事。

    $('#open').click(function () {
        $('#events').prepend("open.click" + "\n");
        //Call Set Sing on method on hub
        //integrationServerHub.server.SetSignOnToCampaign($('#accessToken').val())
        integrationServerHub.server.SignOn($('#accessToken').val())            
                .done();
        $('#events').prepend("SignOn.click" + "\n");
    });

我还将检查您的骆驼箱是否有效。将您的中心方法更改为“ signOn”或“ setSignOnToCampaign”,并将您的JavaScript更新为相同的语言。

“在集线器上传递方法名称的驼峰式版本。SignalR自动进行此更改,以便JavaScript代码可以符合JavaScript约定。” -Docs

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