将 HTML 表单数据放入 JSON 对象并进行 AJAX POST 调用

Posted

技术标签:

【中文标题】将 HTML 表单数据放入 JSON 对象并进行 AJAX POST 调用【英文标题】:Put HTML form data in JSON object and make AJAX POST call 【发布时间】:2018-06-30 13:40:50 【问题描述】:

我有以下 html 代码:

<!DOCTYPE html>

<html>

    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    </head>

    <body>
        <form>
            <table>
                <tr>
                    <td><label>Brand:<input type="text" name="brand" size="5" required></label></td>
                    <td><label>Model:<input type="text" name="model" size="5" required></label></td>
                    <td><label>OS:<input type="text" name="os" size="5" required></label></td>
                    <td><label>Image link:<input type="text" name="image" size="5" required></label></td>
                    <td><label>Screensize:<input type="text" name="screensize" size="5" required></label></td>
                </tr>
            </table>
            <input type="submit" value="Submit">
        </form>
    </body>

</html>

我想知道如何将这个 HTML 表单的数据放入 JSON 对象并进行 AJAX POST 调用?

【问题讨论】:

【参考方案1】:

首先,使用serializeArray 将表单元素编码为名称和值的数组。 然后用 Ajax 请求发送。

HTML:

    <form>
        <table>
            <tr>
                <td><label>Brand:<input type="text" name="brand" size="5" required></label></td>
                <td><label>Model:<input type="text" name="model" size="5" required></label></td>
                <td><label>OS:<input type="text" name="os" size="5" required></label></td>
                <td><label>Image link:<input type="text" name="image" size="5" required></label></td>
                <td><label>Screensize:<input type="text" name="screensize" size="5" required></label></td>
            </tr>
        </table>
    </form>

<button onclick="submitForm();">Submit JSON</button>

JS:

function submitForm() 
    $.ajax(
        method: "POST",
        url: "some.php",
        data: JSON.stringify($("form").serializeArray())
    );
  

【讨论】:

以上是关于将 HTML 表单数据放入 JSON 对象并进行 AJAX POST 调用的主要内容,如果未能解决你的问题,请参考以下文章

解析 JSON 对象时出现 NoClassDefFoundError JsonAutoDetect

将表单数据作为 json 发送到 angularjs 应用程序

将表单数据转换为 JSON 对象 [重复]

将序列化表单的数据转换为 json 对象

使用 JQuery 将 JSON 数组放入 HTML 列表

Vue element表单校验规则放入computed