php - ajax $_POST 数据然后重定向到新页面

标签 php ajax jquery post

在过去的 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

这是我需要的代码的参数:

  1. 发布 $id 值:$_POST[id] = $id
  2. 重定向到 editDocument.php(我将在其中使用 $_POST[id])。
  3. 不影响其他<a>或页面上的任何其他标签。
  4. 我希望 AJAX“虚拟地”创建任何 <form>如果需要的话。我不 想将它们放入我的 PHP 代码中。
  5. 我不想使用按钮。
  6. 我不想使用 $_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/

相关文章:

javascript - Blueimp - 禁用以前上传的图像的删除按钮

javascript - 如何在javascript中访问php SESSION变量

javascript - 跨域通信?

javascript - Jquery .select() 在焦点事件上不起作用

javascript - PHP echo javascript - 不回显 $

php - 在 Laravel 中加入 where 查询返回错误的时间戳

PHP 多维数组搜索(使用 array_search)

javascript - JQuery 使用 .html 传递表中的 ajax 数据

javascript - php 不从联系表单发送电子邮件

javascript - 无法从 jquery 每个循环中添加样式类或访问元素的属性