提交表单时,数据通常作为单独的表单字段发送。但是,如果您想将数据作为 JSON 对象发送,可以使用以下方法:
使用 jQuery 的 serializeArray() 将表单数据转换为数组方法,然后将其字符串化为 JSON。
var formData = JSON.stringify($("#myForm").serializeArray());
在表单中创建一个隐藏文本区域,并将其值设置为 JSON 字符串化的表单数据。此方法允许您在表单提交后访问服务器端的数据。
<input type="hidden" name="data" value="{"first_name":"binchen","last_name":"heris"}">
如果 JSON 数据作为常规表单提交的一部分传输,则它需要在服务器端进行解码。例如,在 PHP 中:
$data = json_decode($_POST['data']);
在您的代码中,问题可能在于忽略将 Content-Type 标头显式设置为 application/json。正确的代码应该是:
xhr.setRequestHeader('Content-Type', 'application/json');
以上是如何通过 HTML 表单数据传输 JSON 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!