2012-06-16 13 views
13

Tengo el siguiente código cuando un usuario hace clic en el elemento 'generar' los datos dentro del formulario 'serializeData' se serializan en js. Esta cadena se pasa a la función loadTemplate que, a su vez, envía esa cadena con otras variables a un script php para su procesamiento.PHP desserializando una serie serializada JS de variables

Lo que estoy buscando es una manera de serializar la cadena JS en PHP o mejores prácticas para obtener los datos, aquí es un ejemplo de salida de los datos serilized como se ve en PHP como una cadena: -

INPUT1 INPUT2 = reunión & = seleccione una fecha + & input3 = + introducir texto & INPUT4 = NÚMERO + FALTA

los datos de forma serializada se pasa a PHP en la función loadTemplate en la variable userData.

Funciones: -

$("#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(); 
    } 
}); 

} 

Cualquier pensamientos?

Respuesta

35

Puede utilizar parse_str:

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

gracias Brilliant tanto, dio esta respuesta ya que le dio un poco más en la respuesta. Gracias chicos. – KryptoniteDove

4

Creo que parse_str es lo que necesita.