在javascript中:訪問節點js中的對象內的對象 - undefined?
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一個數組時,它會添加'[]'來表明它是一個數組。許多語言和框架利用它來自動分析數組。 –