我真的不明白我在使用角柱做什么。例如:
$http.post("http://localhost:999333/api/econdata", $scope.econData)
.success(function (response) { $scope.responseEconData = response; });
}
所以,我有一个帖子。我只是在做我正在做的事情 - 角度" $ http" object有一个名为post的方法,它接受一些参数 - 到我的POST控制器的链接(要发布的url)和" econData,"这是帖子留言。我相信它可能会超载,但无论如何。
然而,我并不了解" .success"格式化。为什么看起来像另一种方法呢?有人可以向我解释这一点,或者将其分解为更简单的"码?
另外,为什么帖子会自我调用?如果我想运行帖子onClick或其他什么,我该怎么办?
编辑:发布的代码在控制器内部并且运行良好。我只是不明白为什么/如何。
答案 0 :(得分:2)
Promises是一种处理异步函数的方法。 post方法在之前返回一个promise ,它实际上发布了任何内容,即它立即返回promise对象。此时,promise不包含帖子的结果,但它确实有一个成功方法,然后您可以使用它来定义在帖子完成时调用的函数。将传递给该函数的参数将是帖子的响应。
答案 1 :(得分:1)
据我了解,http帖子返回promise object。成功是在promise对象上调用success函数。
Angular docs: $ http服务是一个函数,它接受一个参数 - 一个配置对象 - 用于生成HTTP请求并返回具有两个$ http特定方法的成果:成功和错误。
答案 2 :(得分:1)
$ http是异步的。 $ http服务调用的成功方法接受一个回调处理程序,当它最终成功时,angularjs会为你调用。传递给您的成功处理程序的参数将是您的服务调用的返回值,转换为JSON格式。