javascript 函数未调用 signalr hub 方法
javascript function not called signalr hub method
<code>
`public void SendChat()
{
var clients = Clients.All;
clients.sendchat();
}`
</code>
它是集线器方法
<code> ` var chat = $.connection.echo;
chat.client.sendchat = function () {
console.log("signalR work!"); };`
</code>
这是客户端方法
<code>
$('#sendMessage').click(function () {
$.ajax({ type: 'POST',
url: '/InboxUI/SendMessage',
data: { friendId: friend, message: text },
success: function (sendDate) {
date = sendDate.toLocaleString('tr-TR', { timeZone:
'UTC' });} }).done(function () {
hub.server.sendChat();});
});
</code>
这是服务器方法
此 sendChat 方法不是调用 echoHub 的 sendchat 方法!
请帮忙
1.阅读教程
根据您的代码,我建议您从以下教程开始:https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-server
为什么要拨打 ajax 电话?您从哪里开始连接?...使用信号器,您应该首先开始与服务器的连接。之后就可以双向发送消息了。
2。示例代码
根据前面link中的以下示例,您可以向前迈出一步:
服务器部分:
public class ContosoChatHub : Hub
{
public void NewContosoChatMessage(string name, string message)
{
Clients.All.addNewMessageToPage(name, message);
}
}
客户端部分:
var contosoChatHubProxy = $.connection.contosoChatHub;
// Define the methods which the client can call on the server. (Must be befor start!)
contosoChatHubProxy.client.addContosoChatMessageToPage = function (name, message) {
console.log(userName + ' ' + message);
};
// Important you must start the connection
$.connection.hub.start()
.done(function(){
console.log('Now connected, connection ID=' + $.connection.hub.id);
})
.fail(function(){ console.log('Could not Connect!'); });
// You can call also method from client on server like (Connection must be established first!):
contosoChatHubProxy.server.newContosoChatMessage({ UserName: userName, Message: message}).done(function () {
console.log ('Invocation of NewContosoChatMessage succeeded');
}).fail(function (error) {
console.log('Invocation of NewContosoChatMessage failed. Error: ' + error);
});
<code>
`public void SendChat()
{
var clients = Clients.All;
clients.sendchat();
}`
</code>
它是集线器方法
<code> ` var chat = $.connection.echo;
chat.client.sendchat = function () {
console.log("signalR work!"); };`
</code>
这是客户端方法
<code>
$('#sendMessage').click(function () {
$.ajax({ type: 'POST',
url: '/InboxUI/SendMessage',
data: { friendId: friend, message: text },
success: function (sendDate) {
date = sendDate.toLocaleString('tr-TR', { timeZone:
'UTC' });} }).done(function () {
hub.server.sendChat();});
});
</code>
这是服务器方法 此 sendChat 方法不是调用 echoHub 的 sendchat 方法! 请帮忙
1.阅读教程 根据您的代码,我建议您从以下教程开始:https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-server
为什么要拨打 ajax 电话?您从哪里开始连接?...使用信号器,您应该首先开始与服务器的连接。之后就可以双向发送消息了。
2。示例代码
根据前面link中的以下示例,您可以向前迈出一步:
服务器部分:
public class ContosoChatHub : Hub
{
public void NewContosoChatMessage(string name, string message)
{
Clients.All.addNewMessageToPage(name, message);
}
}
客户端部分:
var contosoChatHubProxy = $.connection.contosoChatHub;
// Define the methods which the client can call on the server. (Must be befor start!)
contosoChatHubProxy.client.addContosoChatMessageToPage = function (name, message) {
console.log(userName + ' ' + message);
};
// Important you must start the connection
$.connection.hub.start()
.done(function(){
console.log('Now connected, connection ID=' + $.connection.hub.id);
})
.fail(function(){ console.log('Could not Connect!'); });
// You can call also method from client on server like (Connection must be established first!):
contosoChatHubProxy.server.newContosoChatMessage({ UserName: userName, Message: message}).done(function () {
console.log ('Invocation of NewContosoChatMessage succeeded');
}).fail(function (error) {
console.log('Invocation of NewContosoChatMessage failed. Error: ' + error);
});