加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – Angular 1.0.8 $资源,具有多个可选的get参数

发布时间:2020-12-17 07:44:28 所属栏目:安全 来源:网络整理
导读:我的学生ulr看起来像这样: var Student = $resource('/app/student/:studentid:courseId',{studentid:'@id',courseId:'@cid'}); 当我没有参数调用它,我想要url是/ app / student /(工作) var names=Student.query( function(){ deferred.resolve(names); })
我的学生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);
      }
    );

当我打电话只有我想要的URL / app / student /?courseid = 99(不)

Student.query({courseId:cId},function(data){
          deferred.resolve(data);
      }
    );

相反,我得到:/ app / student / 6682831673622528

当我打电话给学生和课程编号我想:/ app / student /?id = 1& courseid = 2
相反,我得到/ app / student / 12

尝试这样的URL:/ app / student /:studentid&:courseid给我/ app / student / 1& 2

不知怎的,只给学生作品,但是课程或者两者都不能像我想要的那样工作.不知道我会如何期待,因为关于多个参数的文档中没有任何内容作为查询字符串(在/ 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

其他情况也会奏效.只需不要将路径参数与查询参数混淆.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读