PHP只读取一个$ _POST值

时间:2014-01-14 02:46:24

标签: php jquery jquery-datatables

我正在使用AJAX将一些变量发送到PHP表单,该表单将处理它们并将它们放入会话变量中。在下面的代码中,我试图从两个POST变量中获取数据。

如果我原样离开,那么一切都行不通。如果我注释掉一个,那么另一个会起作用,反之亦然。我不确定我在这里做错了什么。

这是将数据发送到要处理的PHP页面的AJAX:

$.ajax({
         type: 'POST',
         async: false,
         data:
             {
                 from_date: from_date,
                 job_no: job_no,
             }, 
         url: 'pnf_post.php', //send variables to this page to be processed
         success: function(data){  
             oTable2.fnReloadAjax('FE_resolved_pnfs.php'); //reload datatables
            },
         error: function(){
             console.log(data);
             alert('Error');
            }

        });  

以下是处理AJAX数据的代码:

session_start();

if(isset($_POST['job_no']))
    {
        $_SESSION['Job_Num'] = $_POST['job_no'];
        $_SESSION['Search_By_Date'] = "NO";
    }

if(isset($_POST['from_date']))
    {
        $_SESSION['From_Date'] = $_POST['from_date'];
        $_SESSION['Search_By_Date'] = "YES";  
    }                      

非常感谢任何帮助

2 个答案:

答案 0 :(得分:2)

在这里取出逗号:

job_no: job_no,

并将其更改为:

job_no: job_no

完整剪辑:

data:
    {
     from_date: from_date,
      job_no: job_no
     }, 

答案 1 :(得分:1)

  1. 您在帖子数据中设置了from_datejob_no
  2. 您检查密钥from_datejob_no是否存在
  3. 显然他们都存在
  4. 您先将Search_By_Date设置为NO,然后设置为YES,以便始终YES
  5. 您可能想要检查值的计算结果是true还是false,而不是使用isset来检查数组中是否存在

    @jk。对于现代浏览器,尾随逗号不是问题。