2016-04-29 59 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