查询参数对Angular2 +没有影响

时间:2017-11-29 17:00:28

标签: javascript angular http rxjs

我按照许多教程尝试使查询参数与Angular2 +一起使用(使用旧的Http模块,而不是新的HttpClient模块)

这是我得到的:

import {Injectable} from '@angular/core';
import {Http} from '@angular/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/timeoutWith'; 

 getCurrentServiceMenu(till: Till) {
    const myParams = new URLSearchParams();
    myParams.set('till_uuid', till.uuid);

    return this.http.get(
      wsGetCurrentServiceMenu.url,
      {
        params: myParams,
        headers: this.authService.getAuthorizationHeader(),
      })
      .timeoutWith(timeout, Observable.throw(''));
  }

它没有错误,但没有效果:查询中没有参数。

我正在使用Angular 5.0.0和rxjs 5.5.2

1 个答案:

答案 0 :(得分:1)

导入角度URLSearchParams

import { Http, URLSearchParams } from '@angular/http';

您使用的是原生javascript URLSearchParams

或者您可以使用本机javascript类,但是您需要将其转换为字符串。

return this.http.get(
    wsGetCurrentServiceMenu.url,
    {
        params: myParams.toString(),
        headers: this.authService.getAuthorizationHeader(),
    })
    .timeoutWith(timeout, Observable.throw(''));

这种混乱可能导致角度团队在新的HttpClient中使用HttpParams作为替代