【问题标题】:Why Angularjs continuously call method when send a get request?为什么Angularjs在发送get请求时不断调用方法?
【发布时间】:2014-03-03 02:59:49
【问题描述】:

我是 angularjs 的新手。我正在尝试向我的 Web-Api 2 项目发送获取请求。但我不明白为什么它不断地调用我的方法。为此,我正在关注AngularJs $http

这是我的错误:

我的代码是:

<script src="~/Scripts/jquery-2.1.0.js"></script>
<script src="~/Scripts/angular.min.js"></script>
<script>
    function loginCtrl($scope, $http) {
        $scope.name = function () {
            console.log("Add Call");
            $http({ method: 'GET', url: 'http://localhost:15229/api/values' }).
            success(function (data, status, headers, config) {
                    console.log(data);
                }).
           error(function (data, status, headers, config) {
               console.log(data);
           });
        };
    }
</script>

<div lang="en" ng-app="" ng-controller="loginCtrl">
    {{name()}}
</div>

【问题讨论】:

    标签: javascript ajax angularjs http asp.net-web-api


    【解决方案1】:

    您没有提供足够的上下文信息让我确定您想要实现的目标。特别是我不知道你的 api 是什么返回的。所以我会假设它返回你想要显示的值。您的代码应该看起来更像这样:

    function loginCtrl($scope, $http) { $scope.init = function () { console.log("Add Call"); $http({ method: 'GET', url: 'http://localhost:15229/api/values' }). success(function (data, status, headers, config) { console.log(data); $scope.name = data; }). error(function (data, status, headers, config) { console.log(data); }); }; }

    <div lang="en" ng-app="" ng-controller="loginCtrl" ng-init="init()">
        {{name}}
    </div>
    

    您应该在成功回调中影响 $scope.name。

    name 应该是一个变量,而不是一个函数。

    ng-init 属性定义了在实例化控制器时要调用的方法。在这种情况下,它将调用控制器的 init() 方法。

    【讨论】:

      猜你喜欢
      • 2015-08-06
      • 2019-09-13
      • 2023-03-18
      • 2019-11-11
      • 2017-03-28
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多