0
はここにバックエンドでの私のsignalrピースであるソリューションangularjs + asp.netウェブAPIで作業していない signalrは
public class ChatHub : Hub
{
public void AddMessage(string userName, string message)
{
Clients.All.receivedNewMessage(userName, message);
}
}
とフロントエンドの
app.controller('chatController', ['$scope', function ($scope) {
var _message = function(id, message, username, date)
{
// this.id = id;
this.message = message;
this.username = username;
// this.date = date;
}
$scope.username = "test";
$scope.message = "";
$scope.messages = [];
//auto proxy start
$.connection.hub.url = "http://localhost:*****/signalr/";
var myChatHub = $.connection.chatHub;
$.connection.hub.logging = true;
myChatHub.client.receivedNewMessage = function (username, message) {
var newMessage = new _message(name, message);
$scope.messages.push(_message);
$scope.$apply();
};
$.connection.hub.start().done(function() {
$scope.addMessage = function() {
myChatHub.server.addMessage($scope.username, $scope.message);
};
});
}]);
と私が使用し
<script src="scripts/jquery-3.1.0.js"></script>
<script src="scripts/jquery.signalR-2.2.1.min.js"></script>
<script src="http://localhost:*****/signalr/hubs"></script>
LIBSクロムのウェブツールは、すべてが私にはうまく見えた。私はJSのデバッグとjquery.signalR-2.2.1.min.jsにそれは私を示した:
SignalR: Connection must be started before data can be sent. Call .start() before .send()
を、私は修正する方法がわからない、それ
答えていただきありがとうございますが、まだこのエラーがあります:angular.js:11358エラー:SignalR:データを送信する前に接続を開始する必要があります。 Object.send(jquery.signalR-2.2.1.min.js:9)の前に.start()を呼び出します。 at invoke(jquery.signalR-2.2.1.min.js:9) at $ angle.addMessage(VM45 chatController.js:32) at angular.js:12133 at f(angular.js:22518) 時h。$ eval(angular。 js:14123) (h。$ apply(angular.js:14221) 、HTMLButtonElement)。(angular.js:22523) at HTMLButtonElement.c(angular.js:3013) –
mrnvdvmv
私はそれを修正しました。どのくらい知っているのですか? – mrnvdvmv
hmmm角度がキックを開始したと思います。また、パスは通常〜/ signalr/hubsです。 – Ted