values.join不是http.es5.js Angular 4文件中的函数

KOU*_*DAL 3 javascript angularjs

在角度4中我使用了一个代码片段;

let h = [{Content: 'application/json'}];

this.http.post(server, this.userDataObj, {headers: h}).....
Run Code Online (Sandbox Code Playgroud)

所以基本上我想在我的ajax调用中添加一个标题.

现在我经常遇到错误

ERROR TypeError: values.join is not a function

我检查了错误位置,我发现在http.es5.js文件中有一个代码,如;

 req.headers.forEach(function (name, values) {
      return xhr.setRequestHeader(name, values.join(',')); 
 });
Run Code Online (Sandbox Code Playgroud)

现在我console.log(req.headers)在片段上方添加了一个,我得到了;

 [Object]
      0:Object
         Content: 'application/json'
Run Code Online (Sandbox Code Playgroud)

现在据我所知,函数里面的forEach循环在JS中的数组中取第二个参数(这是http.es5.js中的值)是元素的索引.我测试了通过console.log(values),我得到了结果0.所以自然值values.join不是一个函数,它永远不会是一个整数的函数.

我试过了 ;

var headers = new Headers();
headers.append("Content", 'application/json');

this.http.post(server, this.userDataObj, {headers: headers}).subscribe(.....
Run Code Online (Sandbox Code Playgroud)

这也给了我同样的错误.

试过这个;

var h = new Headers();
h.append("kkk", 'aaa');
let options = new RequestOptions({ headers: h });

this.http.post(server, this.userDataObj, options).subscribe(.....
Run Code Online (Sandbox Code Playgroud)

还是一样的错误.

这是一个错误吗?或者我有任何错误吗?任何想法都对我很有帮助.

PS:我是Angular4的新手.

tee*_*jay 5

Angular 4.3:

import {HttpClient, HttpHeaders} from '@angular/common/http';
Run Code Online (Sandbox Code Playgroud)