首页 > 解决方案 > 发送和处理表单数据

问题描述

我有一个表格,我想发送到 saveConfig.php 以便可以将数据保存到 MySQL 数据库中。我想传递选定的表单选项,以及总数。

<form id="configSave" action="" class="hide-submit">
<div class="btn-configure" id="configSave">
<span class="pcButtonText">
Save
</span>                                               
</div>

<ul id="radio" class="input-list">
  <li>
    <input id="item-1" name="config-prod" value="1.00" type="radio" onchange="updateTotal();">
    <label for="item-1">Item 1</label>
  </li>
  <li>
    <input id="item-2" name="config-prod" value="2.00" type="radio" onchange="updateTotal();">
    <label for="item-2">Item 2</label>
  </li>
  <li>
    <input id="item-3" name="config-prod" value="3.00" type="radio" onchange="updateTotal();">
    <label for="item-3">Item 3</label>
  </li>
</ul>

<select id="plist" name="partlist" onchange="save();">
  <option value="99.99">CPU 1</option>
  <option value="123.00">CPU 2</option>
  <option value="250.54">CPU 3</option>
</select>
</form>
<br>
Total: <input id="total" type="text">

<script>
        $('#configSave').on('click', function () {
            alert("ok");
            $.ajax({
                url: 'saveConfig.php',
                type: "POST",
                data: $('#configSave').serialize(),
                dataType: "JSON",
                contentType: 'application/json;charset=UTF-8',
                success: function (data) {
                    alert('saved');
                },
                error: function (jqXHR, textStatus, errorThrown) {
                    alert(errorThrown);
                }
            });
        });
    </script>

在 PHP 文件中,如何访问表单数据以便将其保存到数据库中?我收到此错误消息:

SyntaxError: Unexpected token < in JSON at position 2

标签: javascriptphpjsonajax

解决方案


该错误意味着到达 PHP 服务器的 JSON 字符串格式不正确。它格式错误的原因是您无法序列化<div>. serialize 方法旨在序列化表单元素将一组表单元素编码为字符串以进行提交。.

改变:

data: $('#configSave').serialize(),

至:

data: $('#form').serialize(),

推荐阅读