0
我使用jQuery那數據是包含數組的JSON對象發送請求到節點/ Express服務器:陣列在AJAX請求JSON對象數據
var data = {
"name": "James Jamesy",
"children": [
{
"name": "Tiny James",
"age": "4"
},
{
"name": "Little James",
"age": "6"
},
{
"name": "Graham",
"age": "8"
}
]
}
var request = $.ajax({
method: 'PUT',
url: apiPath + 'updateuser',
data: data,
dataType: 'json'
});
本身工作正常的請求,但是該服務器是報告中的數據爲:
var data = {
"name": "James Jamesy",
"children": JSON.stringify([ ... ])
}
012:
{
name: 'James Jamesy',
'children[0][name]': 'Little James',
'children[0][age]': '4',
'children[1][name]': 'Medium James',
'children[1][age]': '6',
'children[2][name]': 'Graham',
'children[2][age]': '8'
}
現在我已經不是字符串化的兒童陣列想通了,我可以得到我想要的結果
然後JSON.parse()
在服務器上。
但是我希望有人可以解釋爲什麼數組被轉換爲它在請求中的位置,以及我是否應該以不同的方式處理這個問題?正如在這個例子中,轉換單個數組很好,但是我可能會將我想要發送到服務器的半複雜對象轉換爲可能。
在此先感謝!
編輯:(?)此外和奇怪,如果我發送JSON結果早在傳遞JSON,它完美的作品:
res.json(JSON.parse(req.body.categories));
瀏覽器註銷的對象,我可以完全操縱它精細。
嘗試改變'數據類型:在Ajax調用json'' –
感謝您的答覆: 'json''到'的contentType'!不幸的是,這導致服務器只是收到一個空的對象。 ('{}') – stuntboots
我看到很多JSON錯誤lol你在Express中使用body parser嗎? –