【问题标题】:angular $resource delete - passing id parameter角度 $resource 删除 - 传递 id 参数
【发布时间】:2017-07-14 14:01:04
【问题描述】:

我正在尝试使用 $resource 实现 Angular 服务。我可以实现返回结果的查询方法。现在我被删除服务阻止了。

我的服务代码是:

var Customer = $resource(Globals.URL_WS + 'admin/customers/:customerId', {customerId:'@id'}, {
        query: {
            method: 'GET',
            isArray: true,
            transformResponse: function(data) {
                return angular.fromJson(data).data;
            }
        }
    });

然后在控制器中我想使用一个删除方法:

Customer.remove({customerId: custId}, function() {
            ...
        }

custId 有一个值,但是当我调用 remove 方法时,我的 url 没有 id 参数,所以我收到 405 错误。我做错了什么?

【问题讨论】:

  • 405 是不允许的方法。检查您的服务器是否允许 DELETE 动词。
  • 是的,它允许。 405错误是因为我的代码尝试删除而不传递id参数,这是错误的

标签: javascript angularjs angular-resource


【解决方案1】:

在您的演示代码中,请求可能类似于:'/admin/customers/42'。其中“42”是客户 ID。这不是 URL 参数,它是 url 的一部分,应由服务器分别处理。

如果您真的想要 /customers?id=42 之类的 URL 参数,请将您的服务更改为:

return $resource('/admin/customers', {customerId:'@id'}, {..

(从 URL 中删除“/:customerId”。

【讨论】:

    猜你喜欢
    • 2015-08-23
    • 2018-06-09
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 2015-06-28
    • 2016-03-19
    • 2019-05-05
    • 1970-01-01
    相关资源
    最近更新 更多