Angular2 HttpParams 未按预期发送
Angular2 HttpParams not sent as expected
当使用 Angular2 http 发送带有查询参数的 GET 请求时,发送的参数没有按预期发送。而不是标准键值对,例如
key1=val1&key2=val2
它作为 HttpParams 对象发送,例如
%7B%22param%22:%key1%22,%22value%22:%22val1%22,%22op%22:%22a%22%7D
*解码:
{"param":"key1","value":"val1","op":"a"}
下面是我的代码片段:
getAllPlayers(fantasyFormat: string, draftFormat: string): Observable<Player[]> {
let params = new HttpParams();
params = params.append('fantasyFormat', fantasyFormat);
params = params.append('draftFormat', draftFormat);
return this.http.get(this.playersUrl, {params: params})
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json().error || 'Server error'));
}
不确定这里出了什么问题,似乎与我遵循的其他示例一致...
getAllPlayers(fantasyFormat: string, draftFormat: string): Observable<Player[]> {
return this.http.get(`${this.playersUrl}?fantasyFormat=${fantasyFormat}&draftFormat=${draftFormat}`)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json().error || 'Server error'));
}
我建议这样做。我认为这里不需要使用 HttpParams。我也从未在我的代码中使用过它们。我会阅读它们,但在我看来,这些情况之间除了语法和 URI 编码之外没有区别。
当使用 Angular2 http 发送带有查询参数的 GET 请求时,发送的参数没有按预期发送。而不是标准键值对,例如
key1=val1&key2=val2
它作为 HttpParams 对象发送,例如
%7B%22param%22:%key1%22,%22value%22:%22val1%22,%22op%22:%22a%22%7D
*解码:
{"param":"key1","value":"val1","op":"a"}
下面是我的代码片段:
getAllPlayers(fantasyFormat: string, draftFormat: string): Observable<Player[]> {
let params = new HttpParams();
params = params.append('fantasyFormat', fantasyFormat);
params = params.append('draftFormat', draftFormat);
return this.http.get(this.playersUrl, {params: params})
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json().error || 'Server error'));
}
不确定这里出了什么问题,似乎与我遵循的其他示例一致...
getAllPlayers(fantasyFormat: string, draftFormat: string): Observable<Player[]> {
return this.http.get(`${this.playersUrl}?fantasyFormat=${fantasyFormat}&draftFormat=${draftFormat}`)
.map((res: Response) => res.json())
.catch((error: any) => Observable.throw(error.json().error || 'Server error'));
}
我建议这样做。我认为这里不需要使用 HttpParams。我也从未在我的代码中使用过它们。我会阅读它们,但在我看来,这些情况之间除了语法和 URI 编码之外没有区别。