我正在尝试为我志愿服务的小组修复一个网站。
我正在尝试将其从 Angular 1.3.16 更新到 Angular 1.6.4,但我收到一条错误消息:
从我通过调试它可以看出,似乎导致类型错误: $http(...(.成功不是一种功能 在 b.$scope.init (角度定制.js:107(
它的代码是带有 .success 和 .error 函数的角度自定义.js文件:
$scope.init = function(){
$http({
method: 'post',
url: url,
data: $.param({ 'type' : 'getUsers' }),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).
success(function(data, status, headers, config) {
if(data.success && !angular.isUndefined(data.data) ){
$scope.post.users = data.data;
}else{
$scope.messageFailure(data.message);
}
}).
error(function(data, status, headers, config) {
//$scope.messageFailure(data.message);
});
};
我也把文件放在 plunker 1.3.16 文件在 Plunker
我知道这可能是 .success 和 .error 结果,但我不太了解 Angular 如何修复它。
我是一个自学成才的程序员,所以任何帮助都会很棒,所以我可以启动并运行这个小组。
提前感谢您的任何建议。杆
我建议您阅读本文不要使用 $http 的 .success((
和
$http({
method: 'post',
url: url,
data: $.param({'user' : $scope.tempUser, 'type' : 'save_user' }),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).
then(function(response) {
your code
excuted when post request is success
},function(response) {
your code
excuted when post request is failed
});
响应从服务器返回,您可以调试以更深入地探索。
对于角度 1.6.4,请使用 .then 和 .catch 来处理响应和错误:
(请注意,您可以使用 $http.post 保存一些代码行(
$scope.init = function(){
$http.post('yourURL', $scope.yourData).
then(function(results) {
if(results.data.success ){
$scope.post.users = results.data;
}else{
$scope.messageFailure(results.data.message);
}
}).
catch(function(results) {
//$scope.messageFailure(results.data.message);
});
};
谢谢大家的帮助,看来我真的需要花点时间学习 Angular,因为我真的不明白它是如何工作的。
我发现我之前的人从PHP和MySQL中的AngularJS插入更新删除中获取了代码
但它似乎出现在网络上的几个地方,因为其他人声称代码是他们的。可惜了。
再次感谢您的输入,但我想我可以让它在版本 1.5.11 上运行,我只需要在以后解决它。
杆