加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – signalR – 如何从客户端调用服务器方法 – 代码无法

发布时间:2020-12-16 09:24:06 所属栏目:asp.Net 来源:网络整理
导读:当我尝试从客户端调用服务器端的SendNewOrderConfirmation时,我得到了 “undefined” is not a function 在线聊天.SendNewOrderConfirmation(数据); 有谁知道为什么会这样? 谢谢 在服务器端 public class DriverChat : Hub,IDisconnect{ public void Start(
当我尝试从客户端调用服务器端的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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读