我有一个 JSON 数组:
info = [{"name":"abc", "rank" : 1},{"name":"xyz", "rank":2},{"name":"pqr", "rank":3}];
我正在尝试使用它作为输入值传递到隐藏字段jQuery,并将其通过请求发送到服务器POST。
$('<form action="/info/saveAll" method="POST"/>')
.append($('<input type="hidden" name="info" value="' + JSON.stringify(info) + '">'))
.appendTo($(document.body))
.submit();
Run Code Online (Sandbox Code Playgroud)
在服务器端,我正在访问 as 的值info:
router.route('/saveAll')
.post((req, res) => {
let info = JSON.parse(req.body.info);
console.log(info); //SyntaxError: Unexpected end of JSON input
})
Run Code Online (Sandbox Code Playgroud)
如果我在提交之前没有stringify数组,那么typeof info仍然会返回帖子内的字符串,当我尝试使用parse字符串类型时,我会收到类似的语法错误SyntaxError: Unexpected token o in JSON at position 1。
我知道这可以通过 ajax post 请求来完成,但我想要一个不涉及 ajax 请求的解决方法。
任何帮助都会很棒。