我们可以通过路由VAR一个Ajax $ http.get

问题描述:

这就是我想要的:

$http.get('v1/service/:variable', { params: { variable: 'val' } }) 

,所以我知道这还只是增加了val作为查询参数,但我想它来代替:variable。 你看到这种情况发生了吗?

+0

请更新示例,'var'是javascript中的一个关键字,它可能会令人困惑。 –

+0

@EliranMalka true – Birowsky

+0

请详细解释一下:你想要什么,或者提供JSfiddle/Plunker。 –

AngularJS的$http不支持这一点。

您必须自己替换。

var url = 'v1/service/:variable'; 
var params = { 
    variable: 'val' 
}; 

for(var varName in params) { 
    url = url.replace(':' + varName, params[varName]); 
} 

$http.get(url); 

或者用sprintflibrary去。

+0

我希望angular能以某种方式实现它。但即使你的方法,如果变量有'+ val'之类的东西,它也不会被编码为'%2Bval'。或者它不需要?思想? – Birowsky

+1

那么,为什么不做'encodeURIComponent(params [varName])'? –

+0

有道理。现在,不要忘记对angularjs执行pull请求。 – Birowsky