【问题标题】:How to pass an array of object as parameters in Restangular?如何在 Restangular 中将对象数组作为参数传递?
【发布时间】:2017-09-28 11:56:48
【问题描述】:

我不知道如何在 Restangular 中传递对象数组。我已经阅读了他们的文档。我发现他们提供了诸如 customGET、customPOST 等。但是,我没有看到与我的案例相关的正确示例。现在,我希望它从需要参数作为过滤器的 API 中获取数据。

1) 参数

var filter = {
  category: 1,
  page: 1,
  product: 20,
  price_range: ['bt',1,150]
}

2) 服务

getRawList: function(filter) {
   return rawProducts.customGET('',filter).then(function(response) {
      return response;
   });
},

我得到的是内部服务器错误。知道如何解决这个错误吗?

【问题讨论】:

  • 既然你试图传递一个对象,它必须是 POST 方法。使用 GET 不是正确的方法。
  • @RNS .. 我想检索数据而不是发布它
  • 我明白你的意思是你正在尝试检索数据,但传递像上面这样的对象来检索数据并不是最好的方法,相反你可以传递一个 id 来检索..
  • 例如。比如 return Restangular.all('someAPI?id='+id).customGET() ;
  • @RNS .. 我不想检索特定数据。我想得到一组价格在 1 到 150 美元之间的数据。

标签: angularjs restangular


【解决方案1】:

向网络服务器发送数据时,数据必须是字符串。因此,在这种情况下,我需要将数组属性转换为字符串(即 price_range),然后再将其作为过滤器发送到服务器。这段代码解决了我的问题。

getRawList: function(filter) {
   return rawProducts.customGET('',{
              category: filter.category,
              page: filter.page,
              product: filter.product,
              price_range: JSON.stringify(filter.price_range)
          }).then(function(response) {
      return response;
   });
}

【讨论】:

    猜你喜欢
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 1970-01-01
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多