如何通过SignalR在asp.net中实现客户端调用服务器方法,代码为何不工作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计295个文字,预计阅读时间需要2分钟。
当我在客户端调用服务端`SendNewOrderConfirmation`方法时,在线聊天中收到了+undefined+ is not a function的错误。有人知道为什么会这样吗?谢谢,在服务端有`public class Dri`。
当我尝试从客户端调用服务器端的SendNewOrderConfirmation时,我得到了“undefined” is not a function
在线聊天.SendNewOrderConfirmation(数据);
有谁知道为什么会这样?
谢谢
在服务器端
public class DriverChat : Hub, IDisconnect { public void Start(Driver d) { ... } public void SendNewOrderConfirmation(OrderDriverData data) { LogFile.LogResponseTime(data.orderId, data.driverId); } }
在客户端
function begin(args) { try { //alert('begin'); chat = $.connection.driverChat; chat.refresh = function () { ready++; }; chat.disconnect = function () { alert('Server has disconnected'); }; $.connection.hub.start(function () { chat.start(args); ready++; // alert('signalR started'); }); } catch (e) { alert(e.message); return e.message; } } function confirmNewOrder(data) { try{ alert('sending cofirmation'); chat.SendNewOrderConfirmation(data); alert('confirmation sent'); } catch (e) { alert(e); } }; } 根据您使用的SignalR版本,答案可能会有所不同.
首先,如果您使用的是v1 Alpha之前的版本,那么您的代码应该是;
chat.sendNewOrderConfirmation(data);
注意小写s.
如果您使用的是版本v1 Alpha或更高版本,那么您的代码应该是;
chat.server.sendNewOrderConfirmation(data);
本文共计295个文字,预计阅读时间需要2分钟。
当我在客户端调用服务端`SendNewOrderConfirmation`方法时,在线聊天中收到了+undefined+ is not a function的错误。有人知道为什么会这样吗?谢谢,在服务端有`public class Dri`。
当我尝试从客户端调用服务器端的SendNewOrderConfirmation时,我得到了“undefined” is not a function
在线聊天.SendNewOrderConfirmation(数据);
有谁知道为什么会这样?
谢谢
在服务器端
public class DriverChat : Hub, IDisconnect { public void Start(Driver d) { ... } public void SendNewOrderConfirmation(OrderDriverData data) { LogFile.LogResponseTime(data.orderId, data.driverId); } }
在客户端
function begin(args) { try { //alert('begin'); chat = $.connection.driverChat; chat.refresh = function () { ready++; }; chat.disconnect = function () { alert('Server has disconnected'); }; $.connection.hub.start(function () { chat.start(args); ready++; // alert('signalR started'); }); } catch (e) { alert(e.message); return e.message; } } function confirmNewOrder(data) { try{ alert('sending cofirmation'); chat.SendNewOrderConfirmation(data); alert('confirmation sent'); } catch (e) { alert(e); } }; } 根据您使用的SignalR版本,答案可能会有所不同.
首先,如果您使用的是v1 Alpha之前的版本,那么您的代码应该是;
chat.sendNewOrderConfirmation(data);
注意小写s.
如果您使用的是版本v1 Alpha或更高版本,那么您的代码应该是;
chat.server.sendNewOrderConfirmation(data);

