javascript - 发送和处理表单数据
问题描述
我有一个表格,我想发送到 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
解决方案
该错误意味着到达 PHP 服务器的 JSON 字符串格式不正确。它格式错误的原因是您无法序列化<div>
. serialize 方法旨在序列化表单元素将一组表单元素编码为字符串以进行提交。.
改变:
data: $('#configSave').serialize(),
至:
data: $('#form').serialize(),
推荐阅读
- c++ - Mongocursor 嵌套循环使用给出相同的变量
- sql-server - 使用 EF Core 过滤包含时的列名无效
- google-api - 获取具有已知路径的文件的 Google Drive 项目 ID
- java - 如何在启动时停止springboot调度程序
- reactjs - 在 React 表中对齐
- r - 在R Shiny中,如何用observe替换observeEvent?
- c++ - 如何从点云库c ++中的变换矩阵4 X 4中获取四元数
- node.js - 在 nodejs 项目中使用“module”:“ES2020”而不是 commonJS
- delphi - Vclimg:需要来自其编译文件 Vclimg.dcp 的 Vclimg.bpl 文件
- docker - 如何在 docker-compose 中解析 Consul 域