【问题标题】:Angular4: Http -> HttpClient - requestOptionsAngular4: Http -> HttpClient - requestOptions
【发布时间】:2017-08-21 12:45:54
【问题描述】:

所以,我正在尝试从“旧”http 迁移到新的 httpClient

通过 http 客户端,我在我的服务中使用这种格式:

return this.http.get(environment.api+ '.feed.json', requestOptions)

如何在 httpClient 中使用它?

尝试了很多人...包括

return this.http.get(environment.api+ '.feed.json', {params: requestOptions.params})

但得到类型不匹配:(

【问题讨论】:

    标签: angular httpclient


    【解决方案1】:

    试试这个:

    const requestOptions = {
      params: new HttpParams()
    };
    
    requestOptions.params.set('foo', 'bar');
    
    this.http.get(environment.api+ '.feed.json', requestOptions );
    

    这里也是描述如何通过标题和 URL 参数示例执行此操作的文档的链接:HttpClient

    【讨论】:

    • 所以我不能使用 const requestOptions = new RequestOptions();没有了吗?
    • 不,RequestOptions 是 @angular/http 包的一部分 - 请参阅 here
    • HttpParams() 真的很奇怪......你不能像@AndreiMatracaru 那样做:/ 你必须像 new HttpParams().set('foo', 'bar') 那样连接否则不工作....如果我需要添加许多参数但首先要验证,我不知道如何使用它:/
    • @DS_web_developer,如果你必须对你的参数做一些事情并在这之后添加它们,你可以这样做:let params = new HttpParams(); params = params.append('foo', 'bar').append('baz', 'qux');等等。
    • 我如何使用你的例子来设置withCredentials: true?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多