【发布时间】:2018-06-26 10:17:25
【问题描述】:
在我们开始之前,我完全了解这方面的其他十亿个帖子,但由于某种原因(可能是我编码不佳),答案并不适用。
这是我的 jquery 目标的 HTML:
<!-- data epids array -->
<form method="post" id="id-form" class="hidden">
<input type="hidden" id="ids" value="" />
</form>
本质上,id 是在页面加载时通过 jquery 添加的。我已经使用console.log($('#ids').val()) 检查了数据,它按预期返回了数据。
然后我在我的 jQuery 中执行此操作:
//export to csv
$('#to-csv').on('click', function(e)
{
//stop default action
e.preventDefault();
//set form
var form = $('#ids-form'),
ids = $('#ids').val(),
data = [];
var splitIds = ids.split(', ');
for (var i = 0; i < splitIds.length; i++)
{
data.push({'id': splitIds[i]})
}
console.log(data); //this returns an object of correct data
//set form url, data + submit
form.attr('action', parts_url+ 'output-csv.php');
//I didn't think this was necessary, with or without, $_POST is still null
form.append(data);
form.submit()
});
对我来说这可行,但是当我尝试使用 $_POST 时它是空的。我试过这样查看数组中的数据:
var_dump(file_get_contents('php://input'));
var_dump($_POST);
第一个返回一个空字符串,第二个返回一个空数组。
我不知道为什么它是空的。会不会是我对一个数组使用一个输入,而输入的字符长度有一个不言而喻的限制?
如何进行调试?
(p.s 发布我的 .ini 文件会有帮助吗?)
谢谢。
更新
所以我尝试了我的最后一句话:
将 HTML 更改为:
<form method="post" id="ids-form" class="hidden">
<!--<input type="hidden" id="ids" value="" />-->
</form>
我的 jquery 到:
//export to csv
$('#to-csv').on('click', function(e)
{
//stop default action
e.preventDefault();
//set form
var form = $('#ids-form');
//set form url, data + submit
form.attr('action', parts_url+ 'output-csv.php');
form.submit()
});
$('.rm-row').each(function()
{
var id = $(this).data('id');
$('#ids-form').append('<input type="hidden" class="id" value="'+ id +'" id="'+ id +'" />')
});
帖子还是空的
【问题讨论】: