AngularJS |使用$ http.get方法设置路径参数

时间:2015-03-16 13:14:52

标签: angularjs

我有一个带有URI作为/ user / user-id的GET端点。 '用户ID'是这里的路径变量。

如何在发出GET请求时设置路径变量?

这就是我的尝试: -

$http.get('/user/:id',{
                params: {id:key}
            });

不是替换路径变量,而是将id作为查询参数附加。 即我的调试器将请求URL显示为'http://localhost:8080/user/:id?id=test'

我预期的已解决网址应该像' http://localhost:8080/user/test'

2 个答案:

答案 0 :(得分:14)

$ http&#39s的params对象用于查询字符串,因此传递给params的键值对将作为查询字符串键和值输出。

$http.get('/user', {
    params: { id: "test" }
});

成为:http://localhost:8080/user?id=test

如果您需要http://localhost:8080/user/test,可以:

  1. 自己构建网址,

    $http.get('/user/' + id);

  2. 或者,使用$ resource(特别是$ resource.get https://docs.angularjs.org/api/ngResource/service/ $ resource)。这有点清洁。

答案 1 :(得分:1)

为什么不是这样的?:

var path = 'test';
$http.get('/user/' + path, {});