Подтвердить что ты не робот

PHP, не выполняющий сериализацию строки переменных JS

У меня есть следующий код, когда пользователь нажимает элемент "generate", данные в форме "serializeData" сериализуются в js. Эта строка передается функции loadTemplate, которая, в свою очередь, POST, которая строит с другими переменными для php script для обработки.

То, что я ищу, - это способ несериализации строки 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();
    }
});

}

Любые мысли?

4b9b3361

Ответ 1

Вы можете использовать parse_str:

$values = array();
parse_str($_POST['userData'], $values);
echo $values['input1']; //Outputs 'meeting'

Ответ 2

Я думаю, что parse_str - это то, что вам нужно.