2016-04-29 159 views
1

在我的网页,当用户点击<div>,它会打开一个模式,该次点击内到PHP,它传递一个值模态。现在,因为这个值是在JavaScript中,我想将它传递给PHP,所以我可以用它来进行查询。我使用的是window.location.href,但是当我点击模式时,它会刷新页面,从而无法打开模式。如何通过JS值时停止刷新页面使用windows.location.href在同一页

JS代码:

<script> 
     $(document).ready(function(){ 
      $('#editModal').on('show.bs.modal', function (e) { 

      var id = $(e.relatedTarget).data('id'); 

      //window.location.href = "tasks.php?id="<?php $id = isset($_GET['id']) ? $_GET['id'] : ""; echo $id; ?>"&final=" + id;    

      jQuery.ajax({ 
      url:'tasks.php?id=<?php $id = isset($_GET['id']) ? $_GET['id'] : ""; echo $id; ?>', 
      type: "POST", 
      data: {'name': id}, 
      dataType: 'text', 
      success: function(data) 
       { 
        alert(id); 
       } 
      }); 


      }); 
     }); 
</script> 

PHP代码| tasks.php?ID = 2(2只是一个采样值,也可以是根据什么用户点击前面的页面上的不同)

<?php 
     include('config.php');              
     $value = $_POST['name']; //returns unidentified index 
     //$value = $_POST['final']; 
     echo "I got your value! $value"; 
?> 

它不断刷新页面每次我试图打开该模式。因此,我实际上无法查看或查看该值是否已通过。是否有更有效的方式在相同的页面上传递它?或者我怎样才能停止刷新页面?您的帮助将不胜感激。谢谢!!

回答

0

只要你分配window.location.href,浏览器会自动转到新的URL。

要实现你在找什么,我建议你做一个AJAX请求代替。

由于您使用jQuery,他们已经有了一个梦幻般的帮手,为您提供所需要的一切,并从浏览器的细节抽象了。见这里 - http://api.jquery.com/jquery.ajax/

+0

嗨,谢谢你的参考。我尝试AJAX但是当我尝试在我的PHP的形式来检索值时,它会显示一个错误:不明指数...我用$ _ POST –

+0

我帮不了你,除非您发布的AJAX代码。请更新你的问题,我会看看:) – smaili

+0

在你的'ajax'调用之前,你可以尝试'alert(id)'告诉我你看到了什么? – smaili

相关问题