Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我想在SignalR和AngularJS中使用实时聊天_Javascript_Signalr - Fatal编程技术网

Javascript 我想在SignalR和AngularJS中使用实时聊天

Javascript 我想在SignalR和AngularJS中使用实时聊天,javascript,signalr,Javascript,Signalr,尝试使用信号器发送消息时,我遇到以下错误: TypeError:$scope.chatHub.server.SendMessageToAdmin不是函数 此函数中出现错误: vm.sentUserMsg = function (message) { var userName = 'Guest'; $scope.name = 'Guest'; // holds the user's name $scope.message = ''; // holds the new mes

尝试使用
信号器发送消息时,我遇到以下错误:

TypeError:$scope.chatHub.server.SendMessageToAdmin不是函数

此函数中出现错误:

vm.sentUserMsg = function (message) {
    var userName = 'Guest';
    $scope.name = 'Guest'; // holds the user's name
    $scope.message = ''; // holds the new message
    $scope.messages = []; // collection of messages coming from server
    $scope.chatHub = null; // holds the reference to hub
    $scope.chatHub = $.connection.chatHub; // initializes hub
    $.connection.hub.start(); // starts hub
    $scope.chatHub.client.broadcastMessage = function (name, message) {
        var newMessage = name + ' says: ' + message;
        $scope.messages.push(newMessage);
        $scope.$apply();
    };
    var producttype = '1';
    $scope.chatHub.server.SendMessageToAdmin(userName, message, producttype);
    $scope.message = '';
}

我想冒昧地猜测一下,“sendmagestoadmin”方法的大小写问题

我假设您正在遵循常见的约定,并且位于Hub类中的服务器上的SendMessageToAdmin方法以大写字母“S”开头。请注意,当signar生成Javascript代理时,它会更改方法名称的大小写以匹配Javascript约定。因此,javascript代码中的方法名称应该是大小写的。例如:

$scope.chatHub.server.sendMessageToAdmin(userName, message, producttype);
有关文件如下:

具体来说,以下是报价:

在集线器上传入方法名称的大小写版本。信号员 自动进行此更改,以便JavaScript代码符合 JavaScript约定