AngularJS - 使用关联数组params发送$ http GET请求

时间:2014-07-11 23:38:36

标签: angularjs http angularjs-http

使用此代码我尝试向我的休息服务发送$ http.get请求:

$http({
    method: 'GET',
    url: '/api/item/all',
    params: {
        query: {
            userid: 7
        },
        fields: 'title'
    }
});

我希望访问此网址:

/api/item/all?query[userid]=7&fields=title

但我总是得到一个格式错误的网址......

那么,如何进行?

甚至更好:是否可以将完整的请求网址传递到$ http的url-param?

1 个答案:

答案 0 :(得分:-4)

在GET请求中,您应该将参数作为查询字符串的一部分传递。

您可以使用快捷方式get call并在url中传递查询参数:

$http.get('api/item/all?userid=" + 7 + "&fields=title");

如果您需要将它们作为范围变量访问,您也可以这样做:

$http.get('api/item/all?userid=" + $scope.foo + "&fields=" + $scope.bar);

同样取决于后端,您可以将它们作为路径参数发送,而不是查询参数:

$http.get('api/item/all/userid/" + $scope.foo + "/fields/" + $scope.bar);

希望有所帮助