ReactJS,MVC和SignalR连接中心未定义

时间:2019-03-02 21:07:05

标签: asp.net-mvc reactjs signalr asp.net-ajax signalr-hub

HELLO,我正在学习SignalR,ReactJS和MVC。 我试图制作一个聊天应用程序时遇到了一些问题... 分享下面的代码 我的ChatHub.cs类

    public class ChatHub : Hub
    {
        public void Send(string newName, string newComment, string currentUserId, string friendUserId)
        {
                // Calling the addNewMessageToPage method to update clients.
                Clients.All.addNewMessageToPage(newName, newComment, currentUserId, friendUserId);
        }
    }

在My Startup.cs类中,我添加了app.MapSignalR()... 我的ReactJS Comment.cshtml文件... 我添加了以下脚本 在我的handleSubmit函数中,在添加signalR代码“ var chat = $ .connection.chatHub”之前,我的代码运行良好。 这条线给聊天未定义。 请告诉我我做错了

<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.signalR-2.4.0.min.js"></script>
<script src="~/signalr/hubs"></script>
handleSubmit(e) {
        e.preventDefault();

        var updatedData = {
            CComment: this.state.CComment,
            UName: this.state.UName,
            CUId: this.state.CUId,
            CFId: this.state.CFId
        };

        $.ajax({
            type: "POST",
            url: this.props.url,
            data: { myData: JSON.stringify(updatedData)},
            success: function(response){
                var newresp = JSON.parse(response);
                var newName =  newresp.UName;
                var newComment = newresp.CComment;
                var currentUserId = newresp.CUId;
                var friendUserId  = newresp.CFId;
                $(function () { 
                        var chat = $.connection.chatHub; // error is coming here... connection is undefined
                        $.connection.hub.start().done(function () {  
                            chat.server.send(newName, newComment, currentUserId, friendUserId); 
                        });
                        chat.client.addNewMessageToPage = function (newName, newComment, currentUserId, friendUserId) { 
                        //Some function i will perform...
                };
                });
            }
        });

0 个答案:

没有答案