我需要从这个模式的网址获取
api/v1/album/:albumId/song/:songId/
如何在网址中传递这些参数。
我尝试在{中使用params
params: {
albumId: 2,
songId: 4
}
但GET调用是api/v1/album/:albumId/song/:songId/?albumId=2&songId=4
代替
api/v1/album/2/song/4/
如何在不使用字符串连接的情况下完成此操作?
答案 0 :(得分:1)
如果您使用RESTful服务,var Song = $resource('/api/v1/album/:albumId/song/:songId/',
{albumId: '@albumId', songId: '@songId'});
Song.get({albumId: 2, songId: 4}, function(song) {
//returned song object
});
//or chaining with promise object
Song.get({albumId: 2, songId: 4})
.$promise.then(function(song){
//success handler
$scope.selectedSong = song;
}, function() {
//failure handler
});
可以让这项工作更轻松:
此处有更多信息:https://docs.angularjs.org/api/ngResource/service/ $ resource
示例代码:
{{1}}
有更多选择取决于您的要求。希望这可以帮助你:)
答案 1 :(得分:0)
Params: { .. }
在网址上连接为查询字符串,在您的情况下发生。只需构建包含参数值的网址,例如
var url = 'api/v1/album/1/song/2';
$http.get(url).then(function(){ .... });