角度4では、次のようなコードスニペットを使用しています。values.joinはファイル内の関数ではありません。http.es5.js角度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です。values.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を初めて使っています。
ヘッダは配列ではありません。それらは '' 'RequestOptions''オブジェクトです。このSOの質問に役立つはhttps://stackoverflow.com/questions/41133705/how-to-correctly-set-http-request-header-in-angular-2 – Wainage
私は上記の質問の受け入れられた答えを試みた、同じエラーを試みた。今質問に言いました。確認してください。今私は無知になる。 :( –