Php JQuery.post-$\u post为空

Php JQuery.post-$\u post为空,php,jquery,ajax,arrays,post,Php,Jquery,Ajax,Arrays,Post,我知道ajax调用和$u POST最近出现了很多次,但是我找不到我当前问题的答案 在我的Javascript中,我有一个二维数据数组: var postData = new Array(new Array()); postData[0]['type'] = 'grid'; postData[0]['data'] = gridData; 然后,我尝试将此数组发送到PHP脚本: function export_report_pdf(postData){ console.log(postDat

我知道ajax调用和$u POST最近出现了很多次,但是我找不到我当前问题的答案

在我的Javascript中,我有一个二维数据数组:

var postData = new Array(new Array());
postData[0]['type'] = 'grid';
postData[0]['data'] = gridData;
然后,我尝试将此数组发送到PHP脚本:

function export_report_pdf(postData){
   console.log(postData);

   $.post('/ajax/ExportReportPDF.ajax.php',{data:  JSON.stringify(postData)}, 
   function(postData){
        console.log("Successfully requested report export.");
   });

}
我已尝试在PHP脚本中接收数组: 打印(邮政美元); 变量转储(json解码(文件获取内容)php://input")));

但我在$u帖子中得到的只是一个空的二维数组。当我在函数开头执行console.log(postData)时,数据就在那里

我还检查了$\u请求并尝试删除JSON.stringify

function export_report_pdf(postData){
 console.log(postData);

 $.ajax(url:'/ajax/ExportReportPDF.ajax.php',type:'POST',{data: JSON.stringify(postData)}, 
 success:function(postData){
    console.log("Successfully requested report export.");
 });

}
试试这个。
并确保包含最新的jquery。

您是否尝试过使用get而不是post。 尝试这样做至少可以确保数据从客户机传递到服务器,而问题只在于POST请求


另外,当您尝试获取时,如果您收到任何错误,请检查控制台。

不要
JSON。将您的帖子数据字符串化。jQuery将为您做到这一点,而不管您是否自己做到了这一点,因此它是双重编码的。如果您检查日志,您将看到,在取消数据编码之后,PHP有一个POST参数,它是所有数据的JSON编码

您的应用程序应该如下所示:

$.post('/ajax/ExportReportPDF.ajax.php', {data: postData}, ...

内部变量类型应为对象而不是数组,否则无法正确序列化:

var postData = [];

postData.push({
   type: 'grid',
   data: gridData
});

$.ajax也只是给了我一个空数组。jquery版本是1.9.1。正如我所写的,我在没有字符串化的情况下尝试过它,但它并没有真正改变结果。