【发布时间】: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