我正在尝试将表单结果转换为下面的这种格式。
{
"project": {
"id": 5,
"name": "max",
"identifier": "max_project",
"description": "This is description",
}
}
但是结果是这样的,
{name: "max", identifier: "max_project", description: "This is description"}
请帮助我更正代码以获得预期结果。我正在尝试以 jsonp 格式发布结果。
$("#submit").on('click', function() {
var data = {};
$("#form").serializeArray().map(function(x) {
data[x.name] = x.value;
});
console.log(data);
})
<form id="form" action="submit" method="post">
Name:
<input type="text" name="name">
<br>identifier:
<input type="text" name="identifier">
<br>description:
<textarea type="text" name="description"></textarea>
<br>
<input id="submit" type="button" name="submit" value="submit">
</form>
最佳答案
实现结果的最简单解决方案如下
$("#submit").on('click', function() {
var data = {project:{}};
$("#form").serializeArray().map(function(x) {
data["project"][x.name] = x.value;
});
console.log(data);
})
或者你这样做的方式但是把它放在另一个散列中
$("#submit").on('click', function() {
var project = {};
$("#form").serializeArray().map(function(x) {
project[x.name] = x.value;
});
var data = {project: project}
console.log(data);
})
有很多方法可以达到相同的结果
关于javascript - 如何在javascript中将表单转换为Json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34104280/