【问题标题】:Angular Error: [ng:areq]角度错误:[ng:areq]
【发布时间】:2015-07-06 01:14:24
【问题描述】:

我已经检查了有关错误错误的其他解决方案:[ng:areq],大多数都说明了缺少文件功能、变量重复或覆盖模块的原因。我的 controller.js 代码如下,它似乎没有任何这些问题。

var app = angular.module('app', ['ngRoute']);
app.config(['$routeProvider', function($routeProvider) {

    $routeProvider.otherwise({redirectTo: '/home'});

    $routeProvider.when('/home', {
        templateUrl: 'home.html',
        controller:'ServiceController'
    });

    $routeProvider.when('/servicess/:id', {
        templateUrl: 'services.html',
        controller: 'ServicesController'
    }); 
}]);
app.controller('ServiceController', function($scope,$http){
    $scope.description='Users Details';

    $scope.add = function(){
        $http.post('/users', $scope.user)
        .success($scope.people);
    };
    $scope.people = function(){
        $http.get('/users')
        .success($scope.renderUser);
    };
    $scope.renderUser = function(response){
        $scope.users = response;
    };
        $scope.remove = function(id){
        $http.delete('/users/'+id).success($scope.people);
    };

    $scope.people();
});

app.controller('ServicesController', function($scope,$http,$routeParams,$location){
    $http.get('/servicess/'+$routeParams.id)
    .success(function(data) {
        $scope.personal=data;
    });
    $scope.update = function(id){
        $http.put('/servicess/'+id,$scope.personal)
        .success(console.log('Error: [ng:areq]'));
    };
});

成功回调中$scope.update函数期间总是出现错误

$scope.update = function(id){
      $http.put('/servicess/'+id,$scope.personal)
      .success(console.log('Error: [ng:areq]'));
};

如果成功回调为空,则不会出错。是不是我在这里做错了什么或者遗漏了一些语法或语句?

【问题讨论】:

  • 我不明白。你真的将console.log 作为参数传递给success 吗?除此之外,我可以看到您正在覆盖您的 ServicesController-
  • @EricMartinez,嗨,console.log 只是为了测试。主要目的实际上是将其重定向回我之前使用 $location.path('/home') 所做的主页,它确实有效,但错误 [ng:areq] 仍然出现。
  • 如果你注意到,控制器有一个不同的名字,ServicesController 和 ServiceController,一个没有字母's'
  • 是的,你是对的。虽然我还是一头雾水。我知道 console.log 只是为了测试,但你为什么要把它作为参数传递呢?将其更改为.success(function() { console.log('PUT successful'); });。您正在自己打印该错误消息。
  • 就是这样。很高兴能帮到你。

标签: javascript angularjs callback


【解决方案1】:

根据要求,我将其发布为答案

您将console.log 作为参数传递给success,而是这样做

$scope.update = function(id){
  $http.put('/servicess/'+id,$scope.personal)
  .success(function() {
     console.log("PUT successful");
  });
};

【讨论】:

  • 这真的很有帮助。谢谢你!
猜你喜欢
  • 1970-01-01
  • 2014-03-07
  • 1970-01-01
  • 1970-01-01
  • 2016-10-21
  • 2016-03-22
  • 2018-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多