未捕获的TypeError:undefined不是函数

时间:2014-08-10 14:22:24

标签: c# javascript jquery

我正在尝试使用SignalR和JavaScript,我遇到了错误" Uncaught TypeError:Undefined",我不明白。以下是导致问题的代码。

HTML

<script type="text/javascript">
    $(function () {
        var chat = $.connection.chat;
        chat.Messenger = function (message) {
            $("#message").append("<li>" + message + "</li>");

        };

        $("#sendMessage").click(function () {
            var text = $("#txtMessage").val();
            chat.Send(text);
        });
        $.connection.hub.start();
    });
</script>
<div>
<fieldset>
    <legend>Send Message</legend>
    <div>
        <input type="text" id="txtMessage"  name="txtMessage"   />
        <input type="button" id="sendMessage" value="Send" />
    </div>
    <fieldset>
        <legend>Message</legend>
        <ul id="message">

        </ul>
    </fieldset>
</fieldset>
</div>

代码

public class Chat : Hub
{
    public void Send(string message)
    {
        Clients.All.broadcastMessage(message);
    }
}

2 个答案:

答案 0 :(得分:0)

使用jQuery而不是$,所以你的脚本就像

<script type="text/javascript">
    jQuery(function () {
        var chat = jQuery.connection.chat;
        chat.Messenger = function (message) {
            jQuery("#message").append("<li>" + message + "</li>");

        };

        jQuery("#sendMessage").click(function () {
            var text = jQuery("#txtMessage").val();
            chat.Send(text);
        });
        jQuery.connection.hub.start();
    });
</script>

希望,它有所帮助......

答案 1 :(得分:0)

尝试确保,$在被调用时定义。放这个片段

if( typeof $ == "undefined" ){ $ = jQuery; }

在你的JS工作之前或你。