我有 UsersService.js
app.factory('UsersService', function($resource) {
return $resource('api/users/:id', {}, {
update: {method:'PUT'},
});
与 Index.php (PHP Slim Framework的API)一起
...
$app->get('/users/:id', 'getUser');
$app->get('/users/:username', 'getUserByUsername');
function getUser(){ ... }
function getUserByUsername(){ ... }
...
现在,当我尝试拨打某个地方时UsersService.get({id:15});
它有效,但是当我尝试拨打UsersService.get({username:'test'});
时,它无法正常工作......
我尝试了一切可能在Google上找到的方式,但我无法让它发挥作用。我可以通过用户名创建一个单独的服务来获取用户,但是如果可能的话,我想将所有内容保留在一个服务中。
请帮助,谢谢!
答案 0 :(得分:0)
你必须告诉angular $ resource从哪里获取值:username。
有关详细信息,请查看documentation
更改 UserService.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脚本中更改路由,以便更清楚。