app.controller('MainCtrl', function ($scope, $http){
$http.get('api/url-api')
.success(function (data, status, headers, config){
}
}
在我当地的环境中,工作正常,但在服务器中,返回此错误:
TypeError: $http.get(…).success is not a function
有任何想法吗?谢谢
解决方法:
.success语法在Angular v1.4.3之前是正确的.
对于Angular v.1.6之前的版本,您必须使用then方法. then()方法有两个参数:成功和错误回调,它将使用响应对象调用.
使用then()方法,将回调函数附加到返回的promise.
像这样的东西:
app.controller('MainCtrl', function ($scope, $http){
$http({
method: 'GET',
url: 'api/url-api'
}).then(function (response){
},function (error){
});
}
见参考文献here.
也可以使用快捷方式.
$http.get('api/url-api').then(successCallback, errorCallback);
function successCallback(response){
//success code
}
function errorCallback(error){
//error code
}
您从响应中获得的数据应采用JSON格式.
JSON是一种传输数据的好方法,它在AngularJS中很容易使用
2之间的主要区别在于.then()调用返回一个promise(使用从回调返回的值解析),而.success()是更传统的注册回调方式而不返回promise.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。