在url http.get AngularJS中传递子参数
我需要从这个模式的url获取在url http.get AngularJS中传递子参数,angularjs,url,Angularjs,Url,我需要从这个模式的url获取 api/v1/album/:albumId/song/:songId/ 如何在url中传递这些参数 我尝试在 参数:{ 专辑编号:2, 宋编号:4 } 但是GET调用是对api/v1/album/:albumId/song/:songId/?albumId=2&songId=4进行的 而不是 api/v1/album/2/song/4/ 如何在不使用字符串连接的情况下实现这一点?参数:{..}在url上连接为querystring,这在您的案例中发生。只需构造包含参
api/v1/album/:albumId/song/:songId/
如何在url中传递这些参数
我尝试在参数:{
专辑编号:2,
宋编号:4
}
但是GET调用是对api/v1/album/:albumId/song/:songId/?albumId=2&songId=4进行的
而不是
api/v1/album/2/song/4/
如何在不使用字符串连接的情况下实现这一点?
参数:{..}
在url上连接为querystring,这在您的案例中发生。只需构造包含参数值的url,例如
var url = 'api/v1/album/1/song/2';
$http.get(url).then(function(){ .... });
如果您使用服务,$resource
可以简化此工作:
更多信息请点击此处:$resource
示例代码:
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
});
有更多的选择取决于您的要求。希望这能对您有所帮助:)因为
albumId
和songId
的值取决于用户的输入,所以使用字符串连接是安全的选择吗?除了使用字符串连接之外,有没有其他方法?PARAMS方法与我所发布的方法没有区别,它仍然从用户那里获得输入,如果您希望它被保护,那么首先验证在调用get之前的ID。考虑使用<代码> $Reals<代码>,而不是<代码> $HTP<<代码>。code>$resource知道如何插入URL模式,但$http
不知道。是的,我开始朝这个方向努力。谢谢