在不刷新页面的情况下将jQuery变量放到同一文件中的PHP中

时间:2017-08-22 07:13:37

标签: php jquery ajax

感谢阅读。我已经尝试过其他类似问题的答案,但到目前为止还没有。我正在尝试更新表单内的表内的值,因此在文件的第一部分是 isset “saveImport”,这是 a 我用来通过URL发送id的标签:

if (isset($_POST['saveImport'])) {

    $id = $_POST['id'];
 }

标签:

<a name="saveImport" href="./?id=<?= $row['id']; ?>" class="saveImport btn btn-success col-xs">Save</a>

我确实在URL中获取了ID值,但由于已在同一文件中更新,我假设它在变量通过AJAX发布之前刷新页面:

<script type="text/javascript">
  $(document).ready(function() {
     $('.saveImport').click(function() {
         var imp_id = id.id;
         var imp_href = $(id).attr('href');

         alert(imp_href);
         $.ajax({
            url: "./",
            data: {id : imp_id},
            type: "POST",
            success:  function(data){
               alert(id);//send this ID to the PHP variable without 
                         //refreshing the file
            }
         });

    });

  });

我正在获取类.saveImport,因为它位于一个表中,它显示来自数据库的值,因此它在while循环中,如果我使用ID,它将导致冲突,因为ID将重复。

我已经创建了PHP函数来更新在ISSET为真时执行的值,所以我真正的问题是执行ISSET并在里面获取用AJAX发布的ID,这样我就可以在UPDATE中使用ID了功能。现在,如果我点击 a 标记,它会通过URL发送ID,页面会刷新,但ID的值不会进入 $ id = $ _POST ['id ];

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

这应该有用。

将ajax网址更改为您的php文件名(我的是t.php)。

用php中的数据替换99。 (使用了id。不使用href)

<?php
if (isset($_POST['saveImport'])) {
    print_r( $_POST );
    exit;
 }
?>

<a name="saveImport" id='99' href="./?id=99" class="saveImport btn btn-success col-xs"'>Save</a>


<script type="text/javascript">
 $('.saveImport').click(function(event) {
     var imp_id = this.id;
     $.ajax({
        url: "t.php",
        data: {id : imp_id, saveImport: 1},
        type: "POST",
        success:  function(data){
           alert( data );//send this ID to the PHP variable without
                     //refreshing the file
        }
     });
     event.preventDefault();

});

</script>

答案 1 :(得分:0)

.preventDefault()会阻止链接加载目标网页...然后,ajax将继续。

$('.saveImport').click(function(event) {
  event.preventDefault();