未捕获的TypeError: undefined不是函数
本文关键字:undefined 函数 TypeError | 更新日期: 2023-09-27 18:17:24
我正在尝试与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);
}
}
使用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>
尝试确保$在调用时被定义。输入以下代码段
if( typeof $ == "undefined" ){ $ = jQuery; }