HMR*_*HMR 14 getparameter angularjs angularjs-resource
我的学生ulr看起来像这样:
var Student = $resource('/app/student/:studentid:courseId',
{studentid:'@id',courseId:'@cid'}
);
Run Code Online (Sandbox Code Playgroud)
当我在没有参数的情况下调用它时,我希望网址是/app/student/(工作)
var names=Student.query(
function(){
deferred.resolve(names);
}
);
Run Code Online (Sandbox Code Playgroud)
当我用studentid调用它时,我希望url是/app/student/?id=88(工作)
Student.get({"id":id},
function(data){
deferred.resolve(data);
}
);
Run Code Online (Sandbox Code Playgroud)
当我用courseid打电话时我想要的网址是/app/student/?courseid=99(不)
Student.query({courseId:cId},
function(data){
deferred.resolve(data);
}
);
Run Code Online (Sandbox Code Playgroud)
相反,我得到: /app/student/6682831673622528
当我打电话给学生和课程时,我想:/app/student/?id=1&courseid=2
我得到了/app/student/12
为网址尝试这样的东西:/app/student/:studentid&:courseid给我/app/student/1&2
不知何故,只提供studentntid作品,但courseid或两者并不像我想要的那样工作.我不确定我会怎么想,因为文档中没有任何关于多个参数作为查询字符串的内容(有扩展url /app/student/studentid/1/courseid/2但是因为它是一个xhr请求我想让它请求/app/student/附加的GET参数?one=val&two=val
有没有办法做到这一点?
jus*_*sio 37
如果需要将参数映射到查询参数而不是路径参数,则不应将参数名称放入路径中.例如,学生资源应如下所示:
var Student = $resource('/app/student/',
{}
);
Run Code Online (Sandbox Code Playgroud)
然后像这样的调用将没有任何问题:
Student.get({id:12,courseId:55});//calls /app/student/?id=12&courseId=55
Student.get({id:12});//calls /app/student/?id=12
Student.get({courseId:55});//calls /app/student/?courseId=55
Run Code Online (Sandbox Code Playgroud)
其他案例也会奏效.只是不要将路径参数与查询参数混淆.
| 归档时间: |
|
| 查看次数: |
18187 次 |
| 最近记录: |