我正在尝试使用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);
}
}
答案 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工作之前或你。