当用户点击'generate'元素时,我有以下代码,'serializeData'形式的数据在js中被序列化。这个字符串被传递给loadTemplate函数,而loadTemplate函数又将带有其他变量的字符串POST到php脚本进行处理。
我正在寻找的是一种在PHP中反序列化js字符串的方法或获取数据的最佳实践,这里是一个示例输出的服务数据,如PHP中的字符串所示: -
的输入1 =满足&安培;输入2 =选择+日期和安培;输入3 =输入+文本&安培;输入4 = NUMBER + MISSING 的
序列化表单数据在userData变量的loadTemplate函数中传递给PHP。
功能: -
$("#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();
}
});
}
有什么想法吗?
答案 0 :(得分:41)
您可以使用parse_str:
$values = array();
parse_str($_POST['userData'], $values);
echo $values['input1']; //Outputs 'meeting'
答案 1 :(得分:4)
我认为parse_str
就是您所需要的。