Angularjs chrome显示错误类型错误:无法读取属性';然后';如果没有定义,甚至承诺也被退回了?

Angularjs chrome显示错误类型错误:无法读取属性';然后';如果没有定义,甚至承诺也被退回了?,angularjs,Angularjs,我有以下用于保存操作的代码: 这是我的角度服务:这已经回报了承诺 factory('customersaveService', function ($http, $q) { var factoryObject = {}; factoryObject.SaveNewUserSrv = function(data) { var deffered = $q.defer(); $http({ url: 'CustomerTe

我有以下用于保存操作的代码:

这是我的角度服务:这已经回报了承诺

factory('customersaveService', function ($http, $q) {

    var factoryObject = {};

    factoryObject.SaveNewUserSrv = function(data) {

        var deffered = $q.defer();

        $http({
            url: 'CustomerTest1/SaveNewUser',
            method: 'POST',
            headers: { 'content-type': 'application/json' },
            data: JSON.stringify({ 'cust': data }),
        })
        .success(function (d) {
            deffered.resolve(d);
        })
        .error(function (e) {
            deffered.reject(e);
        });
    }
    return factoryObject; 
});
在这里,承诺得到了回报。因此,它不应该抛出错误

“TypeError:无法读取未定义的属性'then'”

错误来自控制器的代码:

$scope.SaveCustomer = function (data)
    {
        if ($scope.ButtonText == 'Save')
        {
            $scope.message = "";
            $scope.submitted = true;

            $scope.User = data;

            console.log($scope.User);

            customersaveService.SaveNewUserSrv($scope.User).then(function (d) { <=== error line
                console.log('before success part');
                if (d == 'success')
                {
                    console.log('im in success part');
                    clearform();
                }
            },
            function (e) {

            });
        }
    }
$scope.SaveCustomer=函数(数据)
{
如果($scope.ButtonText=='Save')
{
$scope.message=“”;
$scope.submitted=true;
$scope.User=数据;
log($scope.User);

customersaveService.SaveNewUserSrv($scope.User)。然后(函数(d){1)。创建如下服务: 2.不需要$q服务

factory('customersaveService', function ($http) {
var factoryObject = {};
factoryObject.SaveNewUserSrv = function(data) {
  return $http({
        url: 'CustomerTest1/SaveNewUser',
        method: 'POST',
        headers: { 'content-type': 'application/json' },
        data: JSON.stringify({ 'cust': data }),
    })
}
return factoryObject; 
}))

在控制器中,确保插入服务
customersaveService

factory('customersaveService', function ($http) {
    var SaveNewUserSrv = function(data) {
        return $http({
            url: 'CustomerTest1/SaveNewUser',
            method: 'POST',
            headers: { 'content-type': 'application/json' },
            data: { 'cust': data }
        });
    };
    return {
        SaveNewUserSrv: SaveNewUserSrv
    };
});