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

2023-12-28

在 Angular 4 中,我使用了如下代码片段:

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

this.http.post(server, this.userDataObj, {headers: h}).....

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

现在我不断收到错误

ERROR TypeError: values.join is not a function

我检查了错误位置,在文件 http.es5.js 中发现了类似的代码;

 req.headers.forEach(function (name, values) {
      return xhr.setRequestHeader(name, values.join(',')); 
 });

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

 [Object]
      0:Object
         Content: 'application/json'

现在据我所知,JS 中数组的 forEach 循环内的函数采用第二个参数(即 http.es5.js 中的值)是元素的索引。我测试通过console.log(values)我得到的结果是 0。所以很自然value.join 不是一个函数,并且它永远不会是整数上的函数。

我试过 ;

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

this.http.post(server, this.userDataObj, {headers: headers}).subscribe(.....

这也给了我同样的错误。

尝试过这个;

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

this.http.post(server, this.userDataObj, options).subscribe(.....

还是同样的错误。

这是一个错误吗?或者我做错了什么? 任何想法都会对我很有帮助。

PS:我是 Angular4 的新手。


角度 4.3:

import {HttpClient, HttpHeaders} from '@angular/common/http';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

value.join 不是文件 http.es5.js Angular 4 中的函数 的相关文章