在过去的 2 周里,我一直在发疯,试图让它发挥作用。我正在调用 MySQL Db,并在表中显示数据。在此过程中,我正在创建删除和编辑记录的 href 链接。删除拉警报并停留在同一页面上。 EDIT 链接将 POST 数据然后重定向到 editDocument.php
这是我的 PHP:
<?php
foreach ($query as $row){
$id = $row['document_id'];
echo ('<tr>');
echo ('<td>' . $row [clientName] . '</td>');
echo ('<td>' . $row [documentNum] . '</td>');
echo "<td><a href='**** I NEED CODE HERE ****'>Edit</a>";
echo " / ";
echo "<a href='#' onclick='deleteDocument( {$id} );'>Delete</a></td>";
// this calls Javascript function deleteDocument(id) stays on same page
echo ('</tr>');
} //end foreach
?>
我试过(但没有成功)AJAX 方法:
<script>
function editDocument(id){
var edit_id = id;
$.ajax({
type: 'POST',
url: 'editDocument.php',
data: 'edit_id='edit_id,
success: function(response){
$('#result').html(response);
}
});
}
</script>
我一直在使用 <? print_r($_POST); ?>
在 editDocument.php 上查看 id 是否已发布。
我意识到我需要使用 jQuery/AJAX。我不确定是否需要使用 onclick
, .bind
, .submit
等
这是我需要的代码的参数:
- 发布 $id 值:
$_POST[id] = $id
- 重定向到 editDocument.php(我将在其中使用 $_POST[id])。
- 不影响其他
<a>
或页面上的任何其他标签。 - 我希望 AJAX“虚拟地”创建任何
<form>
如果需要的话。我不 想将它们放入我的 PHP 代码中。 - 我不想使用按钮。
- 我不想使用 $_GET。
我不知道我错过了什么。我一直在搜索 stackoverflow.com 和其他网站。我一直在尝试示例代码。我认为我“只见树木不见森林”。也许是不同的眼光。请帮忙。
提前谢谢你。
更新:
根据 Dany Caissy 的说法,我不需要使用 AJAX。我只需要 $_POST[id] = $id;并重定向到 editDocument.php。然后,我将在 editDocument.php 上使用查询来创建一个粘性表单。
最佳答案
当您需要与数据库通信而不需要重新加载页面时,会使用 AJAX,因为您的网站上有特定的用户操作。
在您的情况下,您希望在使用 AJAX 修改数据库后重定向您的页面,这毫无意义。
您应该做的是将您的数据放在一个表单中,您的表单操作应该指向您的 EditDocument,并且此页面将处理您的 POST/GET 参数并执行您需要完成的任何数据库交互。
简而言之:如果您认为需要在 AJAX 调用后重定向用户,那么您不需要 AJAX。
关于php - ajax $_POST 数据然后重定向到新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17705648/