我按照许多教程尝试使查询参数与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
答案 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作为替代