如何在HttpClient“get"中传递URLSearchParams方法 - Angular 5 [英] How to pass URLSearchParams in the HttpClient "get" method - Angular 5

查看:37
本文介绍了如何在HttpClient“get"中传递URLSearchParams方法 - Angular 5的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将 Angular 4.2Http 服务一起使用,我使用了这样的 get 方法,其中 params 是一个 URLSearchParams 对象:

I used Angular 4.2 with the Http service and I used the get method like this where params is a URLSearchParams object:

this.http.get(url, {headers: this.setHeaders(), search: params})

我想迁移到 Angular 5.http 现在是一个 HttpClient 对象,就像 angular 团队推荐的那样.我在使用搜索"键时出错.

I want to migrate to Angular 5. http is now a HttpClient object like recommended by the angular team. I got an error with the 'search' key.

在我的例子中,你知道如何将 Http 迁移到 HttpClient 服务吗?

Do you know how to migrate Http to HttpClient service in my case?

谢谢.

推荐答案

从 Angular 4.3 开始,你可以像这样使用 HttpClient :

Since Angular 4.3 you can use HttpClient like this :

import { HttpClient,HttpHeaders, HttpParams } from '@angular/common/http';

   constructor(private httpClient: HttpClient) { }    

   getData(){
        let headers = new HttpHeaders();
        headers  = headers.append('header-1', 'value-1');
        headers  = headers.append('header-2', 'value-2');

       let params = new HttpParams();
       params = params.append('param-1', 'value-1');
       params = params.append('param-2', 'value-2');

       this.httpClient.get("/data", {headers , params })
   }

HttpParamsHttpHeaders 是不可变的类,因此在每次调用 setappend 方法后,它们返回一个新的这就是为什么你应该这样做的例子:params = params.append(...)

HttpParams and HttpHeaders are immutable classes so after each call of set or append methods they return a new instance that's why you should do this : params = params.append(...)

这篇关于如何在HttpClient“get"中传递URLSearchParams方法 - Angular 5的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆