2017-03-07 14 views
0

我有一個名爲slick.html的html文件中定義的導航欄。我正在嘗試將單擊的導航欄選項卡的id傳遞給untitled.php。 untitled.php中有其他數據。我正在嘗試將navbar隔離到slick.html。我正在嘗試使用JQuery post來傳輸數據並使用$ _POST來訪問它,但我沒有得到它的價值。我知道這是與客戶端和服務器端使用相關的東西。以下是代碼。我嘗試使用ajax後,但我沒有得到任何結果。爲什麼JQuery post沒有傳輸數據?

slick.html(相關部分)

<body> 

      <ul class="nav nav-tabs "> 
      <li class="active"> 
       <a id="soilProfile" href="#tab_default_1" data-toggle="tab"> 
       Soil Profile </a> 
      </li> 
      <li> 
       <a id="productivityIndex" href="#tab_default_2" data-toggle="tab"> 
       Productivity Index </a> 
      </li> 
      <li> 
       <a id="Wetlands" href="#tab_default_3" data-toggle="tab"> 
       Wetlands </a> 
      </li> 
      </ul> 

//More Code 
</div> 
<script> 
$(function() { 
    $('[data-toggle="popover"]').popover() 
    $('#soilProfile').click(function(event) { 
     console.log("About to post"); 
     var data = {id : event.target.id}; 
     console.log(data); 
     var request = $.ajax({ 
         url: "untitled.php", 
         method: "POST", 
         data: { id : data }, 
     }); 

     console.log("AFTER POST"); 
    }); 
    $('#productivityIndex').click(function(event) { 

    var data = {id : event.target.id}; 
    $.post("untitled.php", data); 

}); 
$('#wetlands').click(function(event) { 
    var data = {id : event.target.id}; 
    $.post("untitled.php", data); 
}); 

}); 

</script> 
</body> 

untitled.php

<?php 
$var = $_POST['id']; 
echo var_dump($var); 
// this fetches your post action 
echo "this is my variable: " . $var; // this outputs the variable 
?> 
<html> 
    <body> 
    <object width=100% data="slick.html"></object> 
     <script> 
    $(document).ready(function(){ 
     $('[data-toggle="popover"]').popover(); 
    }); 
     </script> 
    </body> 
</html> 

我不明白爲什麼它不工作。請告訴我爲什麼或建議我解決此問題的更好解決方案。

+0

簡化'數據:{ID:event.target.id}',而忘記了這個代碼'VAR數據= { ID:event.target。 id }; ' – RiggsFolly

+0

謝謝!但變量仍然爲空! – WOW

+0

嘗試刪除功能(事件)中的事件。 $(#id).click(function(){.. your code ..}) –

回答

0

注意到您使用的「untitled.php」中的ajax請求,但頁面標題爲「Untitled.php」。案例在Linux上有所作爲。

+0

固定,但我不認爲這是我的問題的解決方案。我很感激! :) – WOW

0

你確定slick.html不僅僅是在執行javascript之前通過點擊錨點來刷新嗎?你不需要防止默認事件?

+0

是的!我在jQuery.click()下添加了event.preventDefault(),但它沒有任何幫助。謝謝! – WOW

0

如果你說你想傳遞點擊的id。

試試這個和SE的的console.log

$('#soilProfile').click(function() { 
     console.log("About to post"); 
     var data = $(this).attr("id");   
     console.log(data); 
     $.ajax({ 
       url: "untitled.php", 
       type: "POST", 
       data: { id : data } 
     }); 

     console.log("AFTER POST"); 
    }); 
+0

是的!我試過了,但問題是untitled.php中的$ _POST仍然爲空。謝謝! – WOW

+0

啊..我的不好。它不應該是方法。它應該鍵入 –

+0

你是什麼意思的類型? – WOW