Php JQuery.post-$\u post为空
我知道ajax调用和$u POST最近出现了很多次,但是我找不到我当前问题的答案 在我的Javascript中,我有一个二维数据数组: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
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。正如我所写的,我在没有字符串化的情况下尝试过它,但它并没有真正改变结果。