微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – $http.get(…).success不是一个函数

我有这个代码

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] 举报,一经查实,本站将立刻删除。

相关推荐