Angular Can';获取请求选项参数2
我正在从Angular Can';获取请求选项参数2,angular,typescript,Angular,Typescript,我正在从@angular/Http扩展Http类,以使用自定义拦截器设置令牌头并在Http请求挂起时激活加载程序 我正在尝试截获GET方法发送的参数: this.http.get('url', { params: { loader: 'customLoader' } })... 在我的自定义Http服务中: request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> { o
@angular/Http
扩展Http
类,以使用自定义拦截器设置令牌头并在Http请求挂起时激活加载程序
我正在尝试截获GET方法发送的参数:
this.http.get('url', { params: { loader: 'customLoader' } })...
在我的自定义Http服务中:
request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> {
options = this.resolveOptions(options);
this.loaderService.show(this.resolveLoaderParam(options));
return this.intercept(super.request(this.resolveUrl(url), options));
}
您的解决方案选项(选项)是什么看起来像?@deezg更新了这个问题现在我不清楚了…你是在试图读取你已经在使用的参数表单url,还是在试图从RequestOptios中读取参数,这些参数将用于构建下一个url请求?我试图读取
请求
方法中请求选项
中的参数,但是当我使用get
方法时,当调用request
时,url已经被解析。我必须使用RegExp
在“request”方法中捕获想要的参数。嗯……这很奇怪。我有一个与拦截器类似的场景,我可以正常读取我的requestOptions。它应该与http动词无关。例如,这就是我在get请求中读取'page'url参数的方式:options.search.get('page')
<代码>选项。搜索的类型为URLSearchParams
,因此您可能需要在API中查找它。您的选项(选项)是什么看起来像?@deezg更新了这个问题现在我不清楚了…你是在试图读取你已经在使用的参数表单url,还是在试图从RequestOptios中读取参数,这些参数将用于构建下一个url请求?我试图读取请求
方法中请求选项
中的参数,但是当我使用get
方法时,当调用request
时,url已经被解析。我必须使用RegExp
在“request”方法中捕获想要的参数。嗯……这很奇怪。我有一个与拦截器类似的场景,我可以正常读取我的requestOptions。它应该与http动词无关。例如,这就是我在get请求中读取'page'url参数的方式:options.search.get('page')
<代码>选项。搜索属于URLSearchParams
类型,因此您可能需要在API中查找它。
private resolveOptions(options?: RequestOptionsArgs): RequestOptionsArgs {
if (!options) {
options = new RequestOptions();
}
if (!options.headers) {
options.headers = new Headers();
}
options.headers.append('Content-Type', 'application/json');
const headers = Object.keys(this.headers);
if (headers.length > 0) {
headers.forEach((item) => {
options.headers.append(item, this.headers[item]);
});
}
return options;
}