gpt4 book ai didi

angularjs - 具有多个可选获取参数的 Angular 1.0.8 $resource

转载 作者:行者123 更新时间:2023-12-03 21:08:59 27 4
gpt4 key购买 nike

我的学生 ulr 看起来像这样:

var Student = $resource('/app/student/:studentid:courseId',
{studentid:'@id',courseId:'@cid'}
);

当我不带参数调用它时,我希望 url 为 /app/student/ (作品)
var names=Student.query(
function(){
deferred.resolve(names);
}
);

当我用 studentid 调用它时,我希望 url 是 /app/student/?id=88 (作品)
    Student.get({"id":id},
function(data){
deferred.resolve(data);
}
);

当我只用 courseid 打电话时,我希望网址是 /app/student/?courseid=99 (没有)
    Student.query({courseId:cId},
function(data){
deferred.resolve(data);
}
);

相反,我得到: /app/student/6682831673622528
当我用学生和类(class) ID 打电话时,我想: /app/student/?id=1&courseid=2相反,我得到 /app/student/12
尝试这样的网址: /app/student/:studentid&:courseid给我 /app/student/1&2
不知何故,只提供 studentid 有效,但提供 courseid 或两者都不能像我想要的那样工作。不知道我会如何期望它,因为文档中没有关于多个参数作为查询字符串的内容(有使用 /app/student/studentid/1/courseid/2 扩展 url 但由于它是一个 xhr 请求,我希望它请求 /app/student/ GET 参数附加为 ?one=val&two=val
有没有办法做到这一点?

最佳答案

如果您需要将参数映射到查询参数,而不是路径参数,则不应将参数名称放入路径中。例如。学生资源应如下所示:

var Student = $resource('/app/student/',
{}
);

然后像这样调用将没有任何问题:
 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

其他情况也将起作用。只是不要将路径参数与查询参数混淆。

关于angularjs - 具有多个可选获取参数的 Angular 1.0.8 $resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19247563/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com