将表单数据转换为JSON字符串 [英] Covert form data to JSON string

查看:314
本文介绍了将表单数据转换为JSON字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<form name = 'test' >
    <input type='text' name = 'login'>
    <input type='email' name = 'email'>
</form>

如果我使用 JSON.serialize($(form))。serializeArray( );

我得到 [{name:login,value:a value},{name:电子邮件,值:电子邮件}] 我需要 {登录:登录,电子邮件:电子邮件 } 即可。怎么做??

If I use JSON.serialize($(form)).serializeArray();
I get [{"name":"login","value":"a value"},{"name":"email","value":"a email"}] while I need {"login":"a login","email":"a email"}. How to do that??

推荐答案

您可以将< form> 传递给 FormData(),迭代 FormData 实例的键值对,将每个键和值设置为对象属性和值

You can pass the <form> to FormData(), iterate key, value pairs of FormData instance, set each key and value to an object property and value

let form = document.forms["test"];

let fd = new FormData(form);

let data = {};

for (let [key, prop] of fd) {
  data[key] = prop;
}

data = JSON.stringify(data, null, 2);

console.log(data);

<form name='test'>
  <input type='text' name='login' value="a login">
  <input type='email' name='email' value="a email">
</form>

这篇关于将表单数据转换为JSON字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆