.success
语法是正确的,直到Angular v1.4.3。
对于高达Angular v.1.6的版本,您必须使用then
方法。 then()
方法有两个参数:一个success
和一个error
回调,它将用响应对象调用。
使用then()
方法,将callback
函数附加到返回的promise
。
事情是这样的:
app.controller('MainCtrl', function ($scope, $http){
$http({
method: 'GET',
url: 'api/url-api'
}).then(function (success){
},function (error){
});
}
见参考文献here.
Shortcut
方法也可用。
$http.get('api/url-api').then(successCallback, errorCallback);
function successCallback(response){
//success code
}
function errorCallback(error){
//error code
}
您从响应中获得的数据预计为JSON
格式。 JSON是运输数据的好方法,而且很容易内AngularJS使用
2之间的主要区别是,.then()
调用返回从callback
返回promise
(用值来解析)而.success()
是更传统的注册方式callbacks
,并且不返回promise
。
本地envm和服务器上的版本是什么?顺便说一句,[_ $ http.get_](https://docs.angularjs.org/api/ng/service/$http#get)返回HttpPromise,所以你需要使用_then_而不是 – Grundy
你有没有检查过你所有的JavaScript加载服务器环境? – bansi
其''然后()'不'成功()' –