我尝试发布一个来自的数据我在我的html上有这个代码。
<javascript>
$(document).ready(function(){
$("#btnsubmit").click(function(e){
e.preventDefault();
var testData = $("#test").serialize();
$.ajax({
type: "POST",
url: "ajaxSurvey.php",
data: {survey:testData}
});
});
})
</javascript>
和我的表格
<form id="test" name="test" method="POST">
<input name="surveyperiod" id="surveyperiod" type="date">
<input name="deadline" id="deadline" type="date" >
<input type="submit" id="btnsubmit"name="btnsubmit" value=" Update ">
</form>
和我的php页面
if(isset($_POST['survey']){
$myDate = $_POST['survey'];
mysql_query('INSERT INTO (surveyperiod,deadline) VALUES (????????)');
}
现在我如何反序列化$ myDate,如下所示
surveyperiod = 2014年2月25日&安培;截止时间= 2014年2月18日
答案 0 :(得分:0)
你不需要反序列化,你可以通过放置隐藏字段以不同的方式做到这一点;
<强> HTML:强>
<form id="test" name="test" method="POST">
<input name="survey" type="hidden" value="true"/>
<input name="surveyperiod" id="surveyperiod" type="date">
<input name="deadline" id="deadline" type="date" >
<input type="submit" id="btnsubmit"name="btnsubmit" value=" Update ">
</form>
<强> PHP:强>
if(isset($_POST['survey']){
$myDate = $_POST['survey'];
mysql_query('INSERT INTO (surveyperiod,deadline) VALUES ($_POST["surveyperiod"], $_POST["deadline"])');
}
<强> JS:强>
<javascript>
$(document).ready(function(){
$("#btnsubmit").click(function(e){
e.preventDefault();
var testData = $("#test").serialize();
$.ajax({
type: "POST",
url: "ajaxSurvey.php",
data: testData
});
});
})
</javascript>
通过这样做,您不需要发布{survey:testData}
之类的数据。只需添加,
<input name="survey" type="hidden" value="true"/>
html并检查php端的隐藏字段。如果存在名称为survey
的字段,请运行您的代码
答案 1 :(得分:0)
棘手的方法是使用parse_str()
// Access as Variable
if( isset($_POST['survey']) ){
// surveyperiod=2014-02-25&deadline=2014-02-18
parse_str($_POST['survey']);
$S_Period = $surveyperiod;
$S_Deadline = $deadline;
// do whatever you want
mysql_query('INSERT INTO (surveyperiod,deadline) VALUES ( "'.$S_Period.'", "'.$S_Deadline.'" )');
}
在您的Ajax请求中,您通过POST方法(data: {survey:testData}
)发送数据,并分配了一个survey
的POST变量,此POST变量包含您指定的数据字符串surveyperiod=2014-02-25&deadline=2014-02-18
你的javascript testData
。现在我们要做的是,现在我们必须将字符串解析为变量,而parse_str()内置函数则为您完成。就是这样:)