【发布时间】:2018-01-11 15:14:25
【问题描述】:
在我的项目(某种在线游戏商店)中,我通过点击原始表格行获得了一个 jQuery 生成的表格。原始表是从 mysql 数据库填充的。在提交时,我需要将该生成的表发送到另一个 php 页面。我对它很陌生,到目前为止这是我的代码:
关于 php_first.php
生成的表格
<form action="php_second.php" id ="form_send" name ="form_send1" method="POST">
<div>
<table id="generated_table" style="display:none" name ="generated_table1">
<tr><th>Game</th><th>Platform</th> <th>Genre</th> <th>Price</th><tr>
// generated rows here
</table>
<input type="submit" value="Confirm" id="btnOrder" style="display:none"></input>
</div>
</form>
生成的行
$(document).ready(function(){
$('#original_table tbody tr').click(function(){
var data = $(this).children("td").map(function(){
return $(this).text();
}).get();
var row= '<tr name ="new_row"><td name = "game">' + data[0] + '</td><td name = "platform">' + data[1] +
'</td><td name = "genre">' + data[2] + '</td><td name = "price">' + data[3] +
'<button type="button" onclick="remove(this)" class ="btn_remove">Remove</button>' +'</td></tr>';
$("#generated_table tbody").append(row);
$('#generated_table').show();
$('#btnConfirm').show();
});
ajax 发布到 php_second.php
$('#btnOrder').click(function(){
var table= $('#generated_table');
$.ajax({
url: 'php_second.php',
type: 'POST',
data: {data: table},
async: false,
success: function(data){
alert(data);
}
});
但是,ajax 不做警报(数据)所以我认为这是问题,但我无法确定。
在 php_second.php 上
<table id="table_order" name = "table_order1" style="display:show">
<?php
if(isset($_POST['generated_table'])){
$table= $_POST['generated_table'];
echo $table;
}
?>
</table>
问题是我无法将表数据发布到另一个 php(并在重定向时在其他 php 上打印该表)。尝试使用 ajax 在行单击时发送行数据,或将 div 传递给 table 但什么都没有。它没有显示错误,但没有传递任何数据。
这是我的第一个问题,因此我可能遗漏了一些细节以使问题更加清晰。谢谢!
编辑
我已经尝试过 Kalaikumar Thangasamy 的代码,现在 ajax 工作正常,但问题出在其他 php 页面上。
<?php
if(isset($_POST['data'])){
$table = $_POST['data'];
echo $table;
}
else {
echo "None selected";
}
?>
$_POST['data'] 或来自第一个 php 的任何其他参数始终为空。
【问题讨论】:
-
您可能需要添加 .html()。否则,您将尝试发送一个 jQuery 对象。 var table= $('#generated_table').html();
-
感谢您的回答!但是,在更正该错误后,同样的问题
-
要寻找的东西; 1. AJAX 提交是否失败? 2.你的PHP页面数据有问题吗?我真的帮不上什么忙了。但是您应该看到正在发送和接收的内容。如果您使用 Chrome,请参阅:superuser.com/questions/614599/network-monitor-for-webdeveloper 希望这会有所帮助。
-
感谢 Kalaikumar Thangasamy,ajax 工作正常并按预期发送数据。但问题出在 $_POST['data'] 没有值的其他 php 页面上。 php代码发布在编辑中,我使用firefox。
标签: javascript php jquery ajax