Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 反序列化响应_Php_Ajax_Arrays - Fatal编程技术网

Php 反序列化响应

Php 反序列化响应,php,ajax,arrays,Php,Ajax,Arrays,我试图发布一个数据,从我有这个代码在我的html <javascript> $(document).ready(function(){ $("#btnsubmit").click(function(e){ e.preventDefault(); var testData = $("#test").serialize(); $.ajax({ type: "POST", url: "ajaxSurvey.php",

我试图发布一个数据,从我有这个代码在我的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>
现在我如何反序列化$myDate,如下所示

调查周期=2014-02-25,截止日期=2014-02-18


您不需要反序列化,您可以通过放置隐藏字段(如)以不同的方式进行反序列化

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>
if(isset($_POST['survey']){
    $myDate = $_POST['survey'];

    mysql_query('INSERT INTO (surveyperiod,deadline) VALUES ($_POST["surveyperiod"], $_POST["deadline"])');

}
<javascript>
$(document).ready(function(){
$("#btnsubmit").click(function(e){
    e.preventDefault();
    var testData = $("#test").serialize();
    $.ajax({
        type: "POST",
        url: "ajaxSurvey.php",             
        data: testData          
    });
});
})
</javascript>
JS:

<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>
if(isset($_POST['survey']){
    $myDate = $_POST['survey'];

    mysql_query('INSERT INTO (surveyperiod,deadline) VALUES ($_POST["surveyperiod"], $_POST["deadline"])');

}
<javascript>
$(document).ready(function(){
$("#btnsubmit").click(function(e){
    e.preventDefault();
    var testData = $("#test").serialize();
    $.ajax({
        type: "POST",
        url: "ajaxSurvey.php",             
        data: testData          
    });
});
})
</javascript>
html并检查php端的隐藏字段。如果存在名为“survey的字段,则运行您的代码

使用的是一种棘手的方法

说明:
在Ajax请求中,您通过POST方法(
data:{survey:testData}
)发送数据,并分配了一个POST变量,即
survey
,该POST变量包含您在javascript
testData
中分配的数据字符串
surveyperiod=2014-02-25&deadline=2014-02-18
。现在我们要做的是,现在我们要把字符串解析成变量,然后解析_str()内置函数来为您做这件事。就是这样:)

mysql_*函数已被弃用。请改用PDO或mysqli!这个问题回答得很好:应该从脚本本身更正,而不是从PHP dcriptThanks lukasz更正,我会记住这一点。jogesh_pi,这太棘手了,我无法理解:)。非常感谢你。这就解决了我的问题。@jules我解释了,现在希望你能理解:)谢谢你的回答。
// 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.'" )');

}