成功不是一个功能angularjs

时间:2016-12-15 09:28:56

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

我想通过angularjs

制作简单的String webApi get请求

我不知道是什么问题

有没有更好的方法从webApi获取简单的字符串?

这个错误

angular.min.js:2TypeError: currentYear.thisYear(...).success is not a function

web api

// GET: api/values
    [HttpGet]
    public string Get()
    {
        string time =  DateTime.Now.Year.ToString();
        return time;
    }

服务:

(function () {
'use strict';

var timeService = angular.module('timeService', ['ngResource']);

timeService.factory('currentYear', ['$http', function ($http) {
    return {
        thisYear: function () {
            return $http.get('/api/year/');
        }
    };
}]); 
})();  

控制器

(function () {
'use strict';

angular.module('saniehha').controller('currentYearController', currentYearController);

currentYearController.$inject = ['$scope','currentYear'];

function currentYearController($scope, currentYear) {
    var value = currentYear.thisYear().success(function (data) {
        alert(data);
    });
$scope.currentYear = value;
}
})();

1 个答案:

答案 0 :(得分:1)

从Angular 1.6开始,.success.error回调函数将从API中删除。 They were deprecated至少1.4。

您应该使用.then代替.success,因为$http方法会返回promise个对象:

var value= currentYear.thisYear().then(function (data) {
    $scope.currentYear = data.data;
});

你可以用它来进一步链接它。

$http's deprecated custom callback methods - success() and error() Changelog