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

angularjs – 如何不发送带有请求体的url模板参数?

发布时间:2020-12-17 08:13:49 所属栏目:安全 来源:网络整理
导读:假设我有一个这样设置的资源: resource = $resource( "http://foo.com/service/:type/:id",{},{save: {method:'PUT',params: {type:'@type',id: '@id'}}});resource.save({type:'user',id:14,name:'Bob Dole'}); 有什么办法可以防止类型和身份被提交作为请
假设我有一个这样设置的资源:
resource = $resource(
    "http://foo.com/service/:type/:id",{},{save: {method:'PUT',params: {type:'@type',id: '@id'}}}
);
resource.save({type:'user',id:14,name:'Bob Dole'});

有什么办法可以防止类型和身份被提交作为请求正文的一部分,只是在PUT有效负载中发送名称?我不控制我提交的API,似乎不喜欢我发送的额外的参数。

谢谢!

更新 – 10/25/13 – 13:38

resource的文档说:

If the parameter value is prefixed with @ then the value of that parameter is extracted from the data object (useful for non-GET operations).

这意味着这应该从数据中删除参数:

resource.save({type:'@user',id:'@14',name:'Bob Dole'});

但它似乎不起作用还在亏损

使用第一个参数为您的网址模板参数,并将您的帖子数据放在第二个参数,如下所示:
resource.save({id:14,type:'user'},{name:'Bob Dole'});

这是Angular docs显示功能签名的行:

非GET“类”操作:Resource.action([parameters],postData,[success],[error])

这是plunker的一个例子

您获得的请求在主体中没有url参数:

Request URL:http://run.plnkr.co/JAOqZqW6RSywatUM/badUrl/user/14
Request Method:PUT
Request Payloadview source
{name:Bob Dole}

(编辑:李大同)

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

    推荐文章
      热点阅读