我有一个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个按钮按预期工作。有什么我想念的吗?
您的方法是“ 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