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

Kum*_*hav 11 angularjs

我有一个GET端点,其URI为/ user/user-id.'user-id'是路径变量.

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

这是我试过的: -

$http.get('/user/:id',{
                params: {id:key}
            });
Run Code Online (Sandbox Code Playgroud)

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

我预期的已解析URL应该像' http:// localhost:8080/user/test '

use*_*490 14

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

$http.get('/user', {
    params: { id: "test" }
});
Run Code Online (Sandbox Code Playgroud)

变为: 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).这有点干净.