- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试解决几个 ajax 调用,以便我的 Controller 需要的数据在它(以及它提供的指令)执行之前可用。执行顺序是有效的,但是,注入(inject)到我的 Controller 中的结果不是返回我创建的对象,而是 $http 的响应对象:
{
config: { … },
data: { … },
headers: { … },
status: 200
}
我的代码基本上是这样的:
app.config([
'$routeProvider', function($routeProvider)
{
$routeProvider
.when('/path', {
…,
"resolve": {
"data": [
'$http',
function($http)
{
return $http
.get('/api/data')
.success(function(data,status) { return data.rows[0]; })
.error(function(data,status) { return false; });
}
]
}
});
}
]);
我傻了吗? $http 成功的返回值不应该实际上是 $http 返回的值吗?
我也试过
…
"resolve": {
"data": [
'$http',
function($http)
{
var response;
$http
.get('/api/data')
.success(function(data,status) { response = data.rows[0]; })
.error(function(data,status) { response = false; });
return response;
}
]
}
但是注入(inject)到我的 Controller 中的 data
对象是未定义的(我猜是因为 $http 是异步的并且 resolve
没有被 $http 阻塞——所以它返回了在 $http 准备好之前)。
附言$http 的同步性应该在其选项对象中定义!!
app.config([
'$routeProvider', function($routeProvider)
{
$routeProvider
.when('/path', {
…,
"resolve": {
"data": [
'$http',
function($http)
{
return $http
.get('/api/data')
.then(
function success(response) { return response.data.rows[0]; },
function error(reason) { return false; }
);
}
]
}
});
}
]);
感谢Ajay beniwal's pointer和 Mark Rajcok's pointer .
附言then()
记录在 $q's page 上.
最佳答案
$http @returns {HttpPromise} Returns a {@link ng.$q promise} object with the standard
then
method and two http specific methods:success
anderror
. Thethen
method takes two arguments a success and an error callback which will be called with a response object. Thesuccess
anderror
methods take a single argument - a function that will be called when the request succeeds or fails respectively. The arguments passed into these functions are destructured representation of the response object passed into thethen
method. The response object has these properties:
关于javascript - AngularJS:解析 $http 时 $routeProvider 返回响应 obj 而不是我的 obj,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17706419/
我刚刚开始学习 AngularJS,但我多次注意到同样的事情,当我们开始用 AngularJS 编写函数时,我注意到有些人像这样定义他们将要使用的函数 var mainApp = angular.mo
我遇到了一点挑战,还没有找到解决方案。当我尝试了一些事情时,我正在请求你的帮助,所以可能有人可以引导我走向正确的方向。 我在 AngularJS 中有一个 routes.js。我正在使用 $route
我正在尝试实现 named routes ,所以我不必编写整个路径(经常更改)。 我在想我可以写一个服务来返回定义的路由列表和一个将对象转换为路由的过滤器 使用示例如下所示: Click here!
AngularJS documentation表示 ngRoute $routeProvider 有一个 reload 方法。 reload() Causes $route service to re
我正在尝试了解 AngularJS 中的路由如何工作,以制作一个小应用程序,允许用户登录并在实时提要中撰写评论。然而,路线的整个概念对我来说有点模糊,我无法正确理解这一点。 我的标准index.htm
我在grails应用程序中使用angularJS。在此之前,我尝试了互联网上的样本。我试图在我的主 View 中将angularJS $ routeProvider用于部分 View 。我的工作流程如
所以我的网站并不是 100% 都是“由 AngularJS 提供支持”,其中一些只是简单的静态 HTML,比如登陆页面或面向内容的内容,这是简单的 HTML,原因很明显。 我似乎可以获得正常导航的链接
我正在使用 this Angular 路由教程。这是它给出的使用 resolve 的示例: $routeProvider .when("/news", { templateUr
我有一个非常简单的要求。 我有 3 个用户 Angular 色: 猫用户 LICUSER 所有用户 我在 $rootScope.userRole 变量中拥有用户 Angular 色的值。 我在 Ang
我有两条路线通向相同的 View 和 Controller (即我只是传入一个 id 以在 $routeParams 中访问并在其上执行 Controller 逻辑): $routeProvider
我已经添加了这样的脚本 我在我的 test.js 中做了这个 var app = angular.module('MyApp', ['ngRoute']).config
我已经尝试了几种不同的方式,我将尝试使用所有不同的方式重定向到不同的页面,但所有这些方式都出现 404 错误。 index.html 这个页面没问题,根正在渲染: You are using
有没有办法编写一个方法来解析即将到来的 $location.path 并加载特定的 html 模板或应用 $route。目前,我的应用程序有这个长长的“时间”列表,完成后将增加一倍或三倍。 .con
我已阅读与同一问题相关的帖子并交叉验证了我的代码,但问题仍然存在。 以下是我的index.html文件 Webs
我正在尝试编写 Angular.js 教程。但我想我没有正确进行路由。我已正确遵循文档,但是当我单击超链接时,angular 不会路由到指定的 html。请帮帮我。我是 Angular 的新手。提前致
我有一个问题和疑问 我的客户端使用: 以及以下脚本: 我的 routProvider 是: angular.module('myApp', []). c
我正在使用 USB 设备构建一个 chrome 应用程序。在我的主要 app.js 中,我希望始终检查设备何时添加/删除并更改 url。 angular.module('rfApp', [ '
如果 sessionStorage.logged 设置为 true,我想将 mypage 重定向到主页。下面是我的代码。为什么我下面的代码不起作用。 因为我是 angularjs 的新手,所以我不知道
我有一个应用程序,我没有使用路由提供程序,但我仍然想对更改的哈希值采取行动。当我手动更新 URL 而不是链接时, Controller 中的普通 window.onhashchange 起作用: Li
我的 app.js 中有以下 2 条路线文件,出于某种原因,我不知道何时尝试导航到 /clients/new-invoice我看到了 /clients/:clientID路线和模板。我可以转到正确页面
我是一名优秀的程序员,十分优秀!