javascript - 将表单序列化为 JSON 或从 JSON 序列化

标签 javascript jquery json serialization

我想将表单序列化为 json,处理 json 对象,然后将其重新序列化以通过 ajax 发送到 php 脚本。

这是我想要做的粗略示例:

s = $('.dia_req_form').serialize();
j = //convert s to json ...HOW??
if(j.name)
{
    alert("you must enter a name");
}
if(selectedID)
{
    j.id = selectedID;
}
s = //serialize j ...HOW??

您可以看到 HOW 的 2 个部分??

最佳答案

您可以使用 .serializeArray()$.param()像这样:

//validate here
var obj = $('.dia_req_form').serializeArray();
if(selectedID) {
  obj.push({ name: 'id', value: selectedID });
}
var s = $.param(obj); //s can be used for submission

在内部,.serialize()实际上等同于 $.param($(this).serializeArray()),所以这一切所做的只是将步骤分开,如果需要的话添加一个项目。

.serializeArray()是具有 2 个属性(namevalue)的对象数组,我们所做的只是在需要时向数组添加一些对象,然后 调用 $.param()使其成为一个字符串。

关于javascript - 将表单序列化为 JSON 或从 JSON 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3568498/

相关文章:

javascript - HTML 选择下拉菜单,最大高度为 100%,大小自动?

php - jQuery $.post 返回的数据

json - 使用 Json.format 函数后,如何从客户端发送 Json,其对应的案例类缺少字段

javascript - Rails 服务器因多次 js 调用而崩溃

javascript - 显示空选项的 select2 占位符

javascript - Node.js - 同一端口上的同构 TCP/Websocket 后端服务器

javascript - jquery显示第一次点击的div内容onload和隐藏

java - JSONTokener : A JSONObject text must begin with '{'

javascript - 将对象/变量移离异步函数

javascript - PHP 表单不会提交到基于 javascript 的 MYSQL 数据库