Html AngularJS通过responsemessage进行数据绑定未按预期工作
代码如下Html AngularJS通过responsemessage进行数据绑定未按预期工作,html,angularjs,data-binding,websocket,Html,Angularjs,Data Binding,Websocket,代码如下 var myApp = angular.module("gameModule", []); myApp.controller("gamecontroller", function ($scope) { $scope.message = "test"; // websocket connection. var gameHub = $.connection.socketHub; $.connection.hub.start().done(functio
var myApp = angular.module("gameModule", []);
myApp.controller("gamecontroller", function ($scope) {
$scope.message = "test";
// websocket connection.
var gameHub = $.connection.socketHub;
$.connection.hub.start().done(function () {
var clientid = $.connection.hub.id;
$(function () {
var user = { signalrsessionid: clientid };
$.ajax({
type: "POST",
data: JSON.stringify(user),
url: "http://localhost:53629/api/game/signalr",
contentType: "application/json"
}).done(function (response) {
alert(response);
$scope.responsemessage = response;
});
});
});
});
和前端代码
<!DOCTYPE html>
<html ng-app="gameModule">
<head>
<title>game registration</title>
<meta charset="utf-8" />
<script src="Scripts/jquery-1.10.2.js"></script>
<script src="Scripts/jquery.signalR-2.2.1.js"></script>
<script src="Scripts/angular.js"></script>
<!--Automatisch gegenereerde signalR hub script -->
<script src="signalr/hubs"></script>
<script src="Scripts/rouletteAngular.js"></script>
</head>
<body>
<div ng-controller="gamecontroller">
{{ message }}
{{ responsemessage }}
</div>
游戏注册
{{message}}
{{responsemessage}}
因此显示“消息”,带有响应的警报框显示正确的响应,但响应消息不显示任何值
谁能告诉我我做错了什么。您必须调用$scope。$apply();或$scope.$digest();设置$scope.responsemessage=response后;因为您使用的是jQueryAjax调用,它不属于Angulars上下文 编辑: 在这里,您可以很好地使用AngularJS中的信号器:
您在警报或对象中收到响应消息吗?响应消息可能正在响应中。data$scope.responsemessage=response.data;