如何在没有AJAX的情况下使用json_decode将JSON.stringify导入PHP?

时间:2016-01-27 17:11:58

标签: php jquery json form-submit

说,我有类似的东西

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);

当我在页面上执行NULL时,所有这些都会返回var_dump值。

我没有通过ajax提交表单,我不想使用application/json提交表单,因为表单中还有其他字段需要以正常的表单提交方式提交。

我该怎么做?只需要在表单提交时将json发送到php。

1 个答案:

答案 0 :(得分:1)

可能神奇的引号搞砸了你的JSON字符串,PHP不再识别它了。在将其移交给 json_decode()之前使用 stripslashes()

$a = json_decode(stripslashes($_POST['json']));
var_dump($a);