您可以使用sock.js與服務器進行通信,它支持多種服務器技術: https://github.com/sockjs/sockjs-client
那我就建議你不要使用window.location的,因爲它會刷新頁面,這就背離了點的websockets。
當更改事件被觸發時,您可以使用類似angularjs的東西來更新視圖。
的index.html
<div ng-view></div>
<script src="http://cdn.sockjs.org/sockjs-0.3.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js">
<script src="js/App.js"></script>
Child.js
angular.module('App', [])
.controller('AppCtrl', function ($scope) {
var sock = new SockJS('http://localhost:9999/chat');
$scope.messages = [];
$scope.sendMessage = function() {
sock.send($scope.messageText);
$scope.messageText = "";
};
sock.onmessage = function (e) {
$scope.messages.push(e.data);
$scope.$apply();
};
});
我已經創建使用sockjs使用angularjs更新視圖一個服務器的NodeJS的例子: https://github.com/kmturley/angular-websockets