:ノードjsのオブジェクト内の配列にアクセスする - 未定義? JavaScriptで
var post = {};
post.arr = ["hi", "hello"];
$.post("http://localhost:8000/test", post);
ノードで:
var body = "";
request.on('data', function (data) {
body += data
});
request.on('end', function (data) {
var post = qs.parse(body);
console.log(post); // I see { 'arr[]': ['hi', 'hello'] };
console.log(post.arr); // undefined
}
これを引き起こしたかもしれないものの任意のアイデア?
もしあなたが見ているものなら、有効なオブジェクトではない文字列(JSONでは一重引用符またはセミコロンを持つことはできません)があります。もしそれがオブジェクトで、あなたが間違ってそれを印刷しているなら、あなたはキー 'arr []'を持つオブジェクトを持っていますので、 'post ['arr []']'としてアクセスできます。 –
しかし、arrではなくarr []にキーが変更されたのはなぜですか? – codingIsFun
jQueryが配列をPOSTするとき、それが配列であることを示す '[]'を追加します。多くの言語とフレームワークでは、これを利用して配列を自動的に解析します。 –