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;