我想通過JSON將一個對象POST到node.js服務器。JSON嵌套對象發佈到node.js服務器?
對象結構是嵌套的,並且從未成功地在node.js服務器站點上正確接收和解析。
EDIT2
我找到了解決辦法:一看便知節...
編輯
我發現
console.log(body);
本身輸出
VAL1 =你好& VAL2%5Bval3%5D =世界
// = { 「VAL1」: 「你好」, 「val2的[VAL3]」: 「世界」}
weired JSON方式
client.js
var data ={val1:"hello",val2:{val3:"world"}};
console.log(data); // -> *1
$.ajax({
url:"/",
type:"POST",
dataType: 'json',
data:data,
success:function (res)
{
resHandler(res);
}
});
* 1 ChromeDevel opersTool
對象
VAL1: 「你好」
VAL2:對象
VAL3: 「世界」
server.js
var onreq = function (req, res)
{
if(req.method == 'POST')
{
var body = '';
req.on('data', function (data)
{
body += data;
});
req.on('end', function()
{
var json = qs.parse(body);
console.log(json.val1); //hello
console.log(json.val2); //undefined
console.log(json.val3); //undefined
console.log(JSON.stringify(json));
//{"val1":"hello","val2[val3]":"world"}
});
}
我明白
val2的[VAL3] 是 val2.val3
然而,
問題1
JSON.stringify打印出
{「VAL1 「:」hello「,」val2 [val3]「:」world「}
不
{VAL1: 「你好」,值2:{VAL3: 「世界」}}
它的醜陋,我不知道爲什麼它是這樣的。
問題2
我永遠無法得到{VAL3: 「世界」}
的console.log(json.val3); // undefined
任何人都可以解釋,我該如何將嵌套的JSON發佈到node.js服務器?
謝謝。
不使用'qs.parse'使用'JSON.parse' -.- – Raynos
'JSON.stringify'產生'「{」val1「:」hello「,」val2「:{」val3「:」world「}}」'對我來說這是正確的 – hvgotcodes
我已經嘗試過JSON.parse包括替換qs.parse在內的地方。在這種情況下,輸出是> undefined >找到異常:意外令牌v –