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

angularjs – Angular.js使用参数删除资源

发布时间:2020-12-17 08:27:25 所属栏目:安全 来源:网络整理
导读:我的休息api将DELETE请求填充到以下网址 /api/users/{slug} 因此,通过向指定的用户(slug)发送删除,用户将被删除。这里是服务代码: angular.module('UserService',['ngResource']).factory('User',function($resource){ var User = $resource('/api/users/
我的休息api将DELETE请求填充到以下网址
/api/users/{slug}

因此,通过向指定的用户(slug)发送删除,用户将被删除。这里是服务代码:

angular.module('UserService',['ngResource']).factory('User',function($resource){
    var User = $resource('/api/users/:id1/:action/:id2',//add param to the url
    {},{ 
        delete_user: {
            method: 'DELETE',params: {
                id1:"@id"
            }
        },update: {
            method: 'PUT',params: {
                id1:"@id"
            }
        }
    }); 

    return User;
});

我通过调用删除功能

user.$delete_user({id:user.id},function(){},function(response){});

然而,请求似乎被发送到错误的URL。

/api/users?id=4

所以参数实际上是丢失,因此我得到一个405方法不允许。有没有机会发送删除请求在我的api的风格?

params是您的操作中的默认请求参数的对象。如果你想要url参数,你必须在第二个参数中指定它们,如下所示:
angular.module('UserService',//add param to the url
    {id1:'@id'},{ 
        delete_user: {
            method: 'DELETE'
        }
    }); 

    return User;
});

这适用于:

// user has id
user.$delete_user(function(){
  //success
},function(){
  // error
});

要么

var data = {id:'id_from_data'};
User.delete_user({},data);

要么

var params = {id1:'id1_from_params'};
User.delete_user(params);

我做了一个plnkr-example – 你必须打开你的控制台,以验证DELETE请求是正确的。

请参阅Angular resource documentation中的parameterDefaults。

(编辑:李大同)

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

    推荐文章
      热点阅读