Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有两个参数的资源端点_Javascript_Angularjs_Angularjs Resource_Angular Services - Fatal编程技术网

Javascript 具有两个参数的资源端点

Javascript 具有两个参数的资源端点,javascript,angularjs,angularjs-resource,angular-services,Javascript,Angularjs,Angularjs Resource,Angular Services,我有一个使用服务处理$resource的设置,如下所示: 服务 factory('EventSlot', ['$resource', function ($resource){ return $resource('/api/events/:id/slots/:slotId', {id: "@Id", slotId: "@slotId"}, { signup: { method: 'PUT' } }); }]);

我有一个使用服务处理$resource的设置,如下所示:

服务

factory('EventSlot', ['$resource', function ($resource){
    return $resource('/api/events/:id/slots/:slotId', {id: "@Id", slotId: "@slotId"},
    {
        signup: {
           method: 'PUT'
        }
     });
 }]);
调用函数

EventSlot.signup({id: $scope.id, slotId: $scope.signUpSlot.id}, $scope.signUpSlot);
但是,当PUT调用实际通过时,它会通过端点:
/api/events/123/slots/
其中123是适当的
@Id
但是
@slotId
永远不会被附加。因此,我想要的是
/api/events/123/slots/456
,但这从来没有发生过。

我认为逻辑按预期工作,它不工作的可能原因是因为
$scope.signUpSlot.id
可能是
未定义的

我创建了一个演示,您可以打开浏览器控制台,看到调用实际上是对正确的url进行的:

PUT http://fiddle.jshell.net/api/events/123/slots/456 404 (NOT FOUND) 

这似乎确实是个问题。我不确定它是事先申报的。谢谢