У меня есть следующий код, когда пользователь щелкает в элементе «generate», данные в форме «serializeData» сериализуются в js. Эта строка передается функции loadTemplate, которая, в свою очередь, представляет собой строку с другими переменными для скрипта php для обработки.
То, что я ищу, является способом несериализации строки js в PHP или лучшей практики для получения данных, вот пример вывода сериализованных данных, как показано на PHP в виде строки:
input1 = встречи и input2 = выберите + дата и вход3 = введите текст + & вход4 = ЧИСЛО + ОТСУТСТВУЕТ
Сериализованные данные формы передаются PHP в функцию loadTemplate в переменной userData.
Функции: –
$("#generate").click(function () { if (eCheck == true) { var templateData = $("#serializeData").serialize(); var templateID = $("#serializeData").attr("name"); loadTemplate(this, templateID, 3, templateData) } return false; }); function loadTemplate(obj, cat, call, userData) { userData = typeof userData !== "undefined" ? userData : null; // Set userData to null if undefined. var onSuccess = "#right"; if (call == 1) { onSuccess = "#left"; switchButton(obj); $("#content").hide(); $("#right-content").text(""); } $("#loading").show(); $.ajax({ type: "POST", url: "./scripts/load.php", data: { id : cat, call: call, userData: userData }, cache: false, success: function(html){ $(onSuccess + "-content").html(html); if (onSuccess == "#left") { $("#content").fadeIn(500); } $("#loading").fadeOut(500); resizeAll(); } }); }
Есть предположения?
Вы можете использовать parse_str :
$values = array(); parse_str($_POST['userData'], $values); echo $values['input1']; //Outputs 'meeting'
Я думаю, что parse_str
– это то, что вам нужно.