当前位置: 首页 > 面试题库 >

$ http.get(…)。成功不是函数

干善
2023-03-14
问题内容

我有此代码

app.controller('MainCtrl', function ($scope, $http){
  $http.get('api/url-api')
    .success(function (data, status, headers, config){
     }
}

在我的本地环境中,工作正常,但在服务器中,返回此错误:

TypeError:$ http.get(…)。成功不是函数

有任何想法吗?谢谢


问题答案:

.success语法是正确的高达角1.4.3。

对于Angular v.1.6以下的版本,必须使用thenmethod。该then()方法带有两个参数:a
successerror将与响应对象一起调用的回调。

使用该then()方法,将callback函数附加到返回的promise

像这样:

app.controller('MainCtrl', function ($scope, $http){
   $http({
      method: 'GET',
      url: 'api/url-api'
   }).then(function (response){

   },function (error){

   });
}

请参阅此处的参考。

Shortcut 方法也可用。

$http.get('api/url-api').then(successCallback, errorCallback);

function successCallback(response){
    //success code
}
function errorCallback(error){
    //error code
}

您从响应中获取的数据应采用JSON格式。 JSON* 是一种传输 数据 的好方法,并且在 AngularJS中 易于使用 *

2之间的主要区别在于,.then()调用返回a
promise(由a返回的值解析callback),而这.success()是更传统的注册方式,callbacks并且不返回a
promise



 类似资料:
  • 问题内容: 收到此错误: angular.min.js:122 TypeError:$ http.get(…)。success在Object.invoke(angular.min)的new(app.js:12)的getUserInfo(app.js:7)处不是函数.js:43)在Q.instance(angular.min.js:93)在p(angular.min.js:68)在g(angular

  • 问题内容: 我是jQuery的新手,并在旧的教程上使用了以下代码段: 但是我得到这个错误 未捕获的TypeError:$ .ajax(…)。成功不是函数 在 我想知道这里有什么问题吗? 问题答案: 对ajax的调用应如下所示: 您没有方法链接成功函数,它是字典参数中的条目之一。

  • 在react组件挂载之前,我执行ajax请求以了解用户是否登录。 它应该在响应返回状态代码200时设置状态。 我是否错误地使用了? 编辑01

  • 问题内容: 我使用React和jQuery。这是我的代码的一部分。 在安装组件之前,我执行ajax请求以了解用户是否已登录。 当响应返回状态码200 时,应该设置状态。我使用的是错误的吗? 编辑01 当我在回调中。 在下面。 解决方案 我上面的代码是反模式。 请遵循答案我建议的一种方法。另外,React文档已经为我的案例提供了非常有用的解决方案:通过AJAX加载初始数据 同样,setState是异

  • 问题内容: 我正在尝试将Angular 函数转换为中的服务。 我发现所有示例在实现服务时都存在冲突的方式,它们对名称的选择令人困惑。此外,服务的实际角度文档使用的语法与所有示例都不同。我知道这非常简单,但请在这里帮助我。 我有,,,。 app.js controllers.js 问题答案: 考虑模块和依赖注入。 因此,假设您有这三个文件 您将需要三个模块 1.主应用模块 请注意,其他两个模块被注入