在 url 中发送参数 (Angular 7)
send parameter in url (Angular 7)
想要在 url 中发送参数 angular 7,这样 url 应该看起来像 return 示例。com/search/users?q=tom.
我在我的服务中使用以下语法。
public searchUsers(obj):any{
return this._http.get('example.com/search/users?q=', obj)
}
我希望 url 看起来像 example.com/search/users?q=
您应该可以使用 HttpParam。
const params = new HttpParams()
.set('q', 'value here')
.set('another_param', 'value_here');
return this.httpClient.get('example.com/search/users', { params })
正确答案补充:
如果您想知道为什么没有参数被传递,在引用的 HttpParams 文档中有一个关键提示
This class is immutable - all mutation operations return a new
instance.
这意味着这会起作用:
let params = new HttpParams();
if ( limit ) {
params.set('limit', String(limit));
}
params.set('search', keyword);
如果您想有条件地附加 HttpParams,请改用此变体:
let params = new HttpParams();
if ( limit ) {
params = params.set('limit', String(limit));
}
params = params.set('search', keyword);
通过艰苦的方式学到了这一点。希望这可以帮助任何其他 TS 初学者避免一些困惑...
想要在 url 中发送参数 angular 7,这样 url 应该看起来像 return 示例。com/search/users?q=tom.
我在我的服务中使用以下语法。
public searchUsers(obj):any{
return this._http.get('example.com/search/users?q=', obj)
}
我希望 url 看起来像 example.com/search/users?q=
您应该可以使用 HttpParam。
const params = new HttpParams()
.set('q', 'value here')
.set('another_param', 'value_here');
return this.httpClient.get('example.com/search/users', { params })
正确答案补充:
如果您想知道为什么没有参数被传递,在引用的 HttpParams 文档中有一个关键提示
This class is immutable - all mutation operations return a new instance.
这意味着这会起作用:
let params = new HttpParams();
if ( limit ) {
params.set('limit', String(limit));
}
params.set('search', keyword);
如果您想有条件地附加 HttpParams,请改用此变体:
let params = new HttpParams();
if ( limit ) {
params = params.set('limit', String(limit));
}
params = params.set('search', keyword);
通过艰苦的方式学到了这一点。希望这可以帮助任何其他 TS 初学者避免一些困惑...