私はASP.NET mvcアプリケーション内で簡単なsignalRチャットモジュールを実装しました。しかし、チャットページのJavaScriptは実行されていません。私はSignalRのためのNuGetを通してインストールする必要があった最新のjqueryライブラリを持っていますが、それでも動作しません。ここでASP.NET mvc signalrスクリプトが実行されていません
は、私は私のJavaScriptをロードする方法である:ここでは
<head>
<meta charset="utf-8" />
<title>Studiemeter Tech Support</title>
@Styles.Render("~/Content/Site.css")
@Styles.Render("~/Content/bootstrap.min.css")
@Styles.Render("~/Content/sb-admin-2.min.css")
@Styles.Render("~/Scripts/vendor/metisMenu/metisMenu.min.css")
@Styles.Render("~/Scripts/vendor/morrisjs/morris.css")
@Styles.Render("~/Scripts/vendor/font-awesome/css/font-awesome.min.css")
@Styles.Render("~/Content/login.css")
@Scripts.Render("~/Scripts/jquery-1.12.4.min.js")
@Scripts.Render("~/Scripts/jquery-ui-1.12.1.min.js")
@Scripts.Render("~/Scripts/vendor/morrisjs/morris.min.js")
@Scripts.Render("~/Scripts/vendor/bootstrap/js/bootstrap.min.js")
@Scripts.Render("~/Scripts/vendor/metisMenu/metisMenu.min.js")
@Scripts.Render("~/Scripts/vendor/raphael/raphael.min.js")
@Scripts.Render("~/Scripts/dist/js/sb-admin-2.js")
@Scripts.Render("~/Scripts/modernizr-2.6.2.js")
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>Studiemeter Ticket Systeem</title>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
は私のチャットページは次のとおりです。
SignaRChat.cshtml
<div class="container">
<input type="text" id="message" />
<input type="button" id="sendmessage" value="Send" />
<input type="hidden" id="displayname" />
<ul id="discussion"></ul>
</div>
@section scripts {
<script src="~/Scripts/jquery.signalR-2.2.2.min.js"></script>
<script src="~/signalr/Hubs"></script>
<script>
console.log("ok lol");
$(function() {
console.log("ok cuck");
var chat = $.connection.chathub;
chat.client.addNewMessageToPage = function (name, message) {
$('#discussion').append('<li><strong>' + htmlEncode(name)
+ '</strong>: ' + htmlEncode(message) + '</li>');
};
$('#displayname').val(prompt('Enter your name:', ''));
$('#message').focus();
$.connection.hub.start().done(function() {
$('#sendmessage').click(function() {
chat.server.send($('#displayname').val(), $('#message').val());
$('#message').val('').focus();
});
});
});
function htmlEncode(value) {
var encodedValue = $('<div />').text(value).html();
return encodedValue;
}
</script>
}
私もChatHubクラスを作成しています次のように起動スクリプトがあります。
ChatHub.cs
namespace TicketSystem.Hubs
{
public class ChatHub : Hub
{
public void Send(string name, string message)
{
// Call the addNewMessageToPage method to update clients.
Clients.All.addNewMessageToPage(name, message);
}
}
}
Startup.cs
[assembly: OwinStartup(typeof(TicketSystem.Hubs.Startup))]
namespace TicketSystem.Hubs
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
// Any connection or hub wire up and configuration should go here
app.MapSignalR();
}
}
}
私はそこにはダイアログはいないとJavaScriptが動作しないのチャットページに移動します。私はこれについてかなり新しいです、そして、私はここで間違っているのか分かりません。誰かがここで何がうまくいかないか教えてもらえますか?
jQueryをロードしていますか?私はあなたのcshtmlでそれを見ません –
ああうん、私はここに入れてみましょう –
すべてのブラウザのコンソールログ。? – Tester