在我的应用程序中,我使用authHttp服务来调用get请求以及内容类型标题。
dowloadReleases(releaseID: number): Observable<any> {
var headers = new Headers({ 'Content-Type':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' , 'release-id' : releaseID});
var options = new RequestOptions({ headers: headers });
var endpoint = 'api/releases';
return this.authHttp.get(endpoint, options).map(res => res.json());
}
同样的请求正在运行,但在将angular2升级为4内容类型后,总是将application / json作为application / vson而不是application / vnd.openxmlformats-officedocument.spreadsheetml.sheet。
Api是用symfony(php)框架编写的,从服务端形成我能够正确获取release-id值。
答案 0 :(得分:0)
对于Angular 5,可能超出,HttpParams
,HttpHeaders
等等,不可变。从Angular docs本身,可以通过这种方式提出请求:
let headers = new HttpHeaders();
headers = headers.set('Content-Type', 'multipart/form-data');
const req = new HttpRequest('POST', '/upload-file',
file, {
headers: headers,
reportProgress: true
});
以上是带有更改标题的POST请求示例,并监听事件进度。如您所见,set()
的{{1}}方法返回该类的实例。