使用http请求填充angularjs模板?

时间:2013-09-28 12:20:12

标签: javascript html angularjs

在下面的代码中如何使用$ http请求的结果填充模板? 例如,我想使用结果:

function LoginCtrl($scope, $http) {
    $scope.login = function () {
    $http.post("login", {password: $scope.password, username: $scope.username}).
        success(function (data, status, headers, config) {
        // data is result with html format 
        console.log("successfully logged to login")
        });
    };
}

在以下模板属性

angular.module(......).config(function ($routeProvider) {
    $routeProvider.
        when('/', {controller: LoginCtrl, template: ?? {

        }

1 个答案:

答案 0 :(得分:0)

您基本上使用$scope.login绑定模板中{{login}}的值。但在您的情况下,login是一个不返回值的函数。所以,让它返回一个值,如下所示:

function LoginCtrl($scope, $http) {
  $scope.login = function() {
    $http.post("login", {password: $scope.password, username: $scope.username}).
      success(function(data, status, headers, config) {
        // data is result with html format 
        return data
      });
  };
}

然后还要确保调用此函数以使其实际运行!

$scope.login()。或者,您可能希望通过使用自调用函数(function() { /* your code */ })()

使其自行调用

由于您正在向模板撰写HTML,因此您可能还需要使用ng-bind$sce服务trustAsHTML