2012-06-16 5 views
13

ユーザーが 'generate'要素をクリックすると、 'serializeData'という形式のデータがjsでシリアル化されます。この文字列はloadTemplate関数に渡され、POST関数はその文字列を他の変数とともに処理してPHPスクリプトに渡します。JSシリアル化された変数の文字列をunserializingする

文字列としてPHPに見られるように、私は何を探していますが、ここで、データの取得のためのPHPやベストプラクティスでのJS文字列をアンシリアライズする方法はserilizedデータの出力例です: -

INPUT1 =会議& INPUT2 =選択+日付& INPUT3 =入力したテキスト+ &直列化された形式のデータがのuserdata変数にloadTemplate機能では、PHPに渡される

MISSING INPUT4 = NUM​​BER +。

機能: -

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

} 

任意の考え?

答えて

35

あなたはparse_strを使用することができます:それはより多くの答えのビットを与えたとして

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

ブリリアント感謝の両方を、この答えを与えました。みんなありがとう。 – KryptoniteDove

4

私はparse_strが必要なものだと思います。

関連する問題