下面的代碼使用ASP.Net SignalR Hub技術。這些代碼不能按預期工作。當我點擊Hello Butting時它工作正常,但是當我點擊UserList時沒有任何事情發生。我已經放置了一個警報,發現服務器方法正在調用,但之後沒有任何發生。SignalR中的呼叫服務器和客戶端方法
的JavaScript
$(function() {
// Declare a proxy to reference the hub.
var chat = $.connection.chatHub;
chat.client.OnlineFriends = function (userLists) {
alert(userLists);
};
chat.client.Hello = function (message) {
alert(message);
};
// Start the connection.
$.connection.hub.start().done(function() {
$('#btnGetUser').click(function() {
chat.server.Friends();
});
$('#btnHello').click(function() {
chat.server.test("message to server from client");
//
});
});
});
和C#代碼
public class ChatHub : Hub
{
public void Test(string str)
{
Clients.Caller.Hello(str + " | Message received at server reply from server.");
}
public void Friends()
{
Clients.Caller.OnlineFriends("myid");
}
}
和HTML
<div>
<input type="button" id="btnHello" value="Hello" />
<input type="button" id="btnGetUser" value="UserList" />
</div>
請大家幫忙看看是什麼問題。
只有函數名稱從「朋友」更改爲「朋友」和所有其他方法和變量名小寫
,然後調用服務器功能解決問題。像用戶列表或消息這樣的變量名稱不會影響任何內容。謝謝你的回覆。最後它解決了我的問題。 –
@SumanBiswas也許字符串被函數接受:)很高興你解決了你的問題:) – user3071591
謝謝,這兩個都是我的答案,但stackoverflow不允許標記2答案,因此我選擇了最正確的一個。 –