Как получить JSON.stringify в PHP с декодированием json без 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);
Все они возвращают значение NULL
, когда я делаю var_dump
на странице.
Я не отправляю форму через ajax, и я не хочу использовать application/json
для отправки формы, потому что в форме есть другие поля, которые необходимо отправить обычным способом отправки формы.
Как я могу это сделать?? Просто нужно отправить json на php при отправке формы.
3
Author: Solomon Closson, 2016-01-27
1 answers
Вероятно, волшебные кавычки испортили вашу строку JSON, и PHP больше не распознает ее. Используйте полосовые косые черты(), прежде чем передавать его в json_decode():
$a = json_decode(stripslashes($_POST['json']));
var_dump($a);
1
Author: dkellner, 2016-01-27 17:40:05