2011-11-28 60 views
5

我有轂類:SignalR javascript的回調不工作

public class ChatHub : Hub 
{ 
    // Send message 
    public void Send(string message) 
    { 
     Clients.addMessage(DateTime.Now.ToString("HH:mm:ss") + " " + message); 
    } 
} 

和Javascript:

// Proxy created on the fly 
var chat = $.connection.chatHub; 

// Declare a function on the chat hub so the server can invoke it 
chat.addMessage = function(message) { 
    alert("message:" + message); 
    $('#chat').append('<div>' + message + '</div>'); 
}; 


$("#sendButton").click(function() { 

    // Call the chat method on the server 
    chat.send($('#message').val()) 
     .done(function() { 
      console.log('Success!') 
     }) 
     .fail(function (e) { 
      console.warn(e); 
     }) 
}); 

// Start the connection 
$.connection.hub.start(); 

所有連接如都很好: enter image description here

如果我使用斷點在這裏客戶。 addMessage(DateTime.Now.ToString(「HH:mm:ss」)+「」+ message);一切都很好。

但我沒有得到對javascript函數的回調。 alert(「message:」+ message);從不執行

+0

該代碼看起來不錯。你在哪裏運行它? IIS? VS? – davidfowl

+0

ISD 7.5上的@dfowler –

+0

以上是在ready事件或類似的javascript代碼嗎? – escouser

回答

3

您是否添加了客戶端信號集線器?

<script src="/signalr/hubs" type="text/javascript"></script>