php - JQuery .post - $_POST 为空

标签 php jquery ajax arrays post

我知道 ajax 调用和 $_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 脚本中接收数组: 打印_r($_POST); var_dump(json_decode(file_get_contents("php://input")));

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

我还检查了 $_REQUEST 并尝试删除 JSON.stringify。

最佳答案

你的内部变量类型应该是一个对象而不是数组,否则它不会被正确序列化:

var postData = [];

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

关于php - JQuery .post - $_POST 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16360008/

相关文章:

php - 事务的 MYSQL 语法错误?

php - 如果图像数组为空,则显示替代图像

javascript - Ajax/PHP - 无法识别自动完成值

ajax - Google 如何处理相对_escaped_fragment_ URL-s?

php - 了解 PHP 中的类

javascript - 将 24 小时格式转换为 12 小时格式

javascript - 如何使包含六张不同图片的 div 在单击时向外展开?

javascript - 向下滚动页面加载

php - 如何在php中使用ajax搜索关键字

javascript - 表单提交与使用 ajax 传递数据的按钮 - 一个有效,另一个无效