我正在使用 Restangular 进行后端调用,只要 URL 提供如下数据,一切正常:
如果我打
http://mysite/responses/
响应看起来像
[
{"fname":"some guy",
"lname":"some name",
"dob":2091,
"job":"mgr",
"id":"100"
},
{"fname":"another guy",
"lname":"anpther name",
"dob":1991,
"job":"worker",
"id":"101"
},
{"fname":"someone",
"lname":"some name",
"dob":1997,
"job":"dev",
"id":"102"
},
{"fname":"some guy2",
"lname":"some name",
"dob":2091,
"job":"sec",
"id":"103"
}
]
一切正常
它被包裹在一个数组中,我的 Restangular URL 看起来像
RestangularProvider.setBaseUrl('http://mysite/responses/');
RestangularProvider.setRestangularFields({ id: 'id' });
一切正常
现在我解构了后端,API 以下面的格式返回数据
http://mysite/responses/100
{
fname:"some guy",
lname:"some name",
dob:2091,
job:"mgr",
id:"100"
}
http://mysite/responses/101
{
fname:"another guy",
lname:"another name",
dob:1991,
job:"sec",
id:"101"
}
http://mysite/responses/102
{
fname:"some name",
lname:"some person",
dob:1091,
job:"sec",
id:"102"
}
http://mysite/responses/103
{
fname:"a guy",
lname:"person name",
dob:1998,
job:"dev",
id:"103"
}
现在如果我打
http://mysite/responses/
我收到以下回复
http://mysite/responses/100
http://mysite/responses/101
http://mysite/responses/102
http://mysite/responses/103
http://mysite/responses/104
如您所见,id 已附加到 url,我需要获取此 id,进行 Restangular 调用并获取数据。我如何循环遍历这个多个 http 调用,获取 id 并将其放入 Angular 中。我认为我没有正确地为 Restanglar 构建 BaseURl,因为我不确定如何获取 ID。 谢谢你的帮助
最佳答案
你要找的是routeParams
:
https://docs.angularjs.org/api/ngRoute/service/ $路由参数
这与路由一起使用:
https://docs.angularjs.org/api/ngRoute/service/ $路线
例如:
$routeProvider.when('/Book/:bookId', {
templateUrl: 'book.html',
controller: function($scope, $routeParams) {
console.log($routeParams.bookId);
})
});
关于javascript - 如何在 angularjs 中获取作为 URL 一部分的 ID?我正在使用 Restangular 与 REST API 进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26976537/