我尝试使用以下格式向网址发出POST请求:
/questions/:questionId:/answers
我已设置资源(请注意自定义保存网址):
angular.module('questions').factory('AnswersResource',
['$resource',
function($resource) {
return $resource('questions/:questionId/answers/:answerId', {
answerId: '@_id'
}, {
save: {
method: 'POST',
url: 'questions/:questionId/answers'
}
});
}
]);
使用包装器:
angular.module('questions').factory('Answers',
['AnswersResource',
function(AnswersResource) {
return {
save: function(answer, questionId) {
AnswersResource.save({questionId: questionId}, answer);
}
}
}
]);
当我拨打电话时:
Answers.save($scope.answer, '123456');
我像这样向服务器发出POST请求(请注意附加的问号):
POST /questions/123456/answers?
这会抛弃我后端的路由。有谁知道这个问号出现的原因?
谢谢!
答案 0 :(得分:1)
虽然我仍然不知道为什么要添加问号,但我设法通过简单地删除自定义网址来解决问题。事实证明,$ save命令足够智能,即使没有指定我自己的URL,也可以发布到/questions/123456/answers
。