如何在没有 AJAX 的情况下使用 json_decode 将 JSON.stringify 变成 PHP?
How to get JSON.stringify into PHP with json_decode without AJAX?
说,我有这样的东西
function submitform() {
var data = JSON.stringify({
"userdata": $('#user_data').val()
})
$('<input type="hidden" name="json"/>').val(data).appendTo('#myform');
$("#myform").submit();
}
现在在服务器端,我试过:
json_decode($_POST['json']);
json_decode($_POST['json'], true);
json_decode(htmlspecialchars_decode($_POST['json']), true);
当我在页面上执行 var_dump
时,所有这些 return NULL
值。
我不是通过ajax提交表单,我不想使用application/json
提交表单,因为表单中还有其他字段需要提交正常表单投稿方式
我该怎么做??只需在提交表单时将 json 发送到 php。
可能是魔术引号搞砸了您的 JSON 字符串并且 PHP 不再识别它。在将其交给 json_decode():
之前使用 stripslashes()
$a = json_decode(stripslashes($_POST['json']));
var_dump($a);
说,我有这样的东西
function submitform() {
var data = JSON.stringify({
"userdata": $('#user_data').val()
})
$('<input type="hidden" name="json"/>').val(data).appendTo('#myform');
$("#myform").submit();
}
现在在服务器端,我试过:
json_decode($_POST['json']);
json_decode($_POST['json'], true);
json_decode(htmlspecialchars_decode($_POST['json']), true);
当我在页面上执行 var_dump
时,所有这些 return NULL
值。
我不是通过ajax提交表单,我不想使用application/json
提交表单,因为表单中还有其他字段需要提交正常表单投稿方式
我该怎么做??只需在提交表单时将 json 发送到 php。
可能是魔术引号搞砸了您的 JSON 字符串并且 PHP 不再识别它。在将其交给 json_decode():
之前使用 stripslashes()$a = json_decode(stripslashes($_POST['json']));
var_dump($a);