我有这个:
var postData = {};
$('#items tr').not(':first').each(function(index, value) {
var keyPrefix = 'data[' + index + ']';
postData[keyPrefix + '[index]'] = index;
postData[keyPrefix + '[supp_short_code]'] = $(this).closest('tr').find('.supp_short_code').text();
postData[keyPrefix + '[project_ref]'] = $(this).closest('tr').find('.project_ref').text();
postData[keyPrefix + '[om_part_no]'] = $(this).closest('tr').find('.om_part_no').text();
postData[keyPrefix + '[description]'] = $(this).closest('tr').find('.description').text();
postData[keyPrefix + '[quantity_input]'] = $(this).closest('tr').find('.quantity_input').val();
postData[keyPrefix + '[cost_of_items]'] = $(this).closest('tr').find('.cost_of_items').text();
postData[keyPrefix + '[cost_total_td]'] = $(this).closest('tr').find('.cost_total_td').text();
});
将下一步发送给PHP的下一步是什么,我不想使用Ajax,因为我需要访问PHP页面并查看收到的结果。我们的想法是从表中获取值,当用户按下“预览”时,它将获取这些值并将它们带到PHP页面,我将设置一个发票样式页面,我将填充上述值?< / p>
由于
答案 0 :(得分:1)
关于通过POST发送值:
使用分隔符构建一个字符串,该分隔符分隔值,并将字符串插入隐藏字段。将表单标记更改为使用method="post"
。当您发送表单时,您将拥有一个php变量,例如:$_POST['hiddenFieldName']
,其中包含您构建的字符串。现在,您必须将字符串分开,就像构建字符串一样,以检索值。
关于安全性的重要说明: 看起来这是某种购物车 - 我猜是通过暗示价格的钥匙。如果是这样,并且用户可以从此站点订购,则通过Parameter Tampering您可能会遇到一些重大安全问题。 为了避免这种情况,只需发送一个数组(或字符串,就像我解释的那样),其中包含所选项目的ID和数量。在您查看项目的页面上,再次从DB中检索价格,然后重新计算总计。所有计算都应在服务器端完成。
答案 1 :(得分:1)
我不想使用Ajax,因为我需要 去PHP页面查看 收到的结果
逻辑在这里似乎不太清楚 - 目前似乎你使用JS根据一些标准查询你的数据库,将结果分配给数组然后将结果推送到PHP页面输出它们?
不是通过GET / POST将结果集发送到页面,为什么不发送用于构建初始条件的任何变量,然后在PHP预览页面上,使用PHP查询数据库,获取结果并显示他们。
您应该总是尝试避免通过GET / POST向另一个页面发送完整的结果集,您应该只发送帮助您获取或创建结果集的运算符。