如何使用angular传递嵌套参数

时间:2016-02-23 06:49:19

标签: javascript ruby-on-rails angularjs ransack

我正在尝试使用angular向我的rails后端发送get请求。所以我们正在寻找的是像这样的请求

  

参数:{“location”=>“london”,“q”=> {“price_gteq”:“33333”,“price_lteq”:“7777”}}

所以在我的app.js中,我尝试使用下面的代码来发送带有参数的请求。我现在遇到意外/,第二个嵌套参数也没有显示如下所示。

  $http({
        url: "/search.json",
        method: "GET",
        params: {location: $scope.searchLocation, q: {price_gteq: $scope.min_price, price_lteq: $scope.max_price} }
    })

这是我在上面尝试时得到的

  

参数:{“location”=>“london”,“q”=>“{\”price_gteq \“:\”33333 \“}”}

有人能告诉我这里有什么问题吗?

1 个答案:

答案 0 :(得分:2)

默认情况下,角度使用$httpParamSerializer实际上可以处理嵌套参数。检查您的$http是否使用此服务。如果由于某种原因它无法正常工作,您可以编写自己的paramSerializer并将其传递给$http configuration object

当您发送请求时,还要检查当前是否存在price_lteq