Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Can';获取请求选项参数2_Angular_Typescript - Fatal编程技术网

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;
}