javascript - 将表单数据转换为 JSON 字符串

标签 javascript jquery 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":"email","value":"a email"}] 当我需要{"login":"登录","email":"电子邮件"}。怎么做??

最佳答案

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

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>

关于javascript - 将表单数据转换为 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45305680/

相关文章:

javascript - CORS 不适用于 firebase 云功能中的特定域

javascript - 循环等待 Promise.all 内存泄漏

javascript - 使用 CSS 和 JS 使 Body 的宽度为 Screen 的两倍

Jquery,在表中设置td的值?

javascript - ajax 发送 POST 两次,从 PHP 接收双重/重复结果

javascript - Cordova Android : how to listenen to custom events in Javascript?

javascript - 如何将 Unix 时间戳转换为 Jalali/Shamsi/Persian 格式?

jquery - jquery选择器是否存在 'not found'异常?

javascript - Angularjs - 根据单击的项目更改状态

json - 使用具有对象数组属性的 json 对象从 powershell 调用rest方法