Php 传递多个参数Angularjs资源
我有UsersService.jsPhp 传递多个参数Angularjs资源,php,angularjs,slim,angularjs-resource,Php,Angularjs,Slim,Angularjs Resource,我有UsersService.js app.factory('UsersService', function($resource) { return $resource('api/users/:id', {}, { update: {method:'PUT'}, }); 以及Index.php(带有php Slim框架的API) 现在,当我试图调用某处UsersService.get({id:15})时它可以工作,但是当我尝试调用UsersService.get({username:'
app.factory('UsersService', function($resource) {
return $resource('api/users/:id', {}, {
update: {method:'PUT'},
});
以及Index.php(带有php Slim框架的API)
现在,当我试图调用某处UsersService.get({id:15})时代码>它可以工作,但是当我尝试调用UsersService.get({username:'test})时代码>它不工作
我尝试了在谷歌上找到的所有可能的方法,但都没能成功。我可以通过用户名创建一个单独的服务来获取用户,但如果可能的话,我希望将所有这些都保存在一个服务中
请帮忙,谢谢 您必须告诉angular$resource从何处获取:username的值
有关更多详细信息,请参阅
更改youtUserService.js:
app.factory('UsersService', function($resource) {
return $resource('api/users/:id/:username', {id:'@id',username:'@username'}, {
update: {method:'PUT'}
});
编辑:
您的php脚本如何知道当它得到/users/123
时应该运行第一个路由,而当它得到/users/123joe
时应该运行下一个路由?你是否以某种方式验证了它?如果没有,您应该在php脚本中更改路由,以便更清楚。谢谢您的回复。我发现不可能有两个相同的路由(即使它们添加了不同的参数:id/:username,因为这显然无关紧要),所以我添加了“getUserByUsername”:{method:'GET',url:'api/userByUsername/:username'},
在UsersService.js和php中我添加了$app->GET('/userByUsername/:username','getUserByUsername');
现在它按照我想要的方式工作。
app.factory('UsersService', function($resource) {
return $resource('api/users/:id/:username', {id:'@id',username:'@username'}, {
update: {method:'PUT'}
});