aspnetcore/samples/ChatSample/Views/Home/Index.cshtml

39 lines
1.1 KiB
Plaintext

@{
ViewData["Title"] = "Chat";
}
<div id="chat-area">
<ul id="messages"></ul>
<ul id="users"></ul>
<div class="clear">
</div>
<form id="sendmessage" action="#">
<input type="text" id="new-message" />
<input type="submit" id="send" value="Send" class="send" />
</form>
</div>
<script src="lib/signalr-client/signalr-client.js"></script>
<script>
let connection = new signalR.HubConnection(`http://${document.location.host}/chat`, 'formatType=json&format=text');
connection.on('Send', function (message) {
var child = document.createElement('li');
child.innerText = message;
document.getElementById('messages').appendChild(child);
});
connection.start();
document.getElementById('sendmessage').addEventListener('submit', event => {
let data = document.getElementById('new-message').value;
connection.invoke('ChatSample.Hubs.Chat.Send', data, 'json').catch(err => {
var child = document.createElement('li');
child.style.color = 'red';
child.innerText = err;
document.getElementById('messages').appendChild(child);
});
event.preventDefault();
});
</script>