Мне нужно сериализовать все входы из формы в строку JSON.
С помощью этого сообщения я могу успешно создать допустимую строку, как показано ниже:
{"input01":"value01","input02":"value02","input03":"value03"}
Однако, когда я пытаюсь использовать строку для данных POST с помощью функции jQuery Ajax, кажется, что она добавляет обратную косую черту в строку, в результате чего строка JSON отправляется с использованием GET, а не POST.
Загруженная страница PHP возвращает массив $_GET
:
[{\"input01\":\"value01\",\"input02\":\"value02\",\"input03\":\"value03\"}] =>
Я тестировал строку JSON, используя alert()
, чтобы подтвердить правильность структуры, прежде чем использовать ее в функции AJAX.
Кроме того, если я просто вручную ввешу правильную строку JSON, AJAX правильно разместит данные.
Мой код выглядит следующим образом:
var dataJSON = $.toJSON($('#form').serializeObject());
alert(dataJSON);
$.ajax({
type: "POST",
url: "ajax.php",
data: 'Query01=01&Query02=02',
dataType: 'json',
success: function(data){
if (data==1){
$('#wrap').load('ajax.php',dataJSON);
}
}
});