2013-09-24 70 views
0

我正在使用Wordpress,並且我有一個頁面,我有一個下拉列表,當鏈接被點擊時,它將進行Ajax調用並將數據變量傳遞給PHP,至少這是我正在嘗試做什麼大聲笑。無法通過AJAX獲取PHP變量

當點擊鏈接我檢查我的瀏覽器,並在網絡選項卡上的網頁我收到一個變量的數據對象在HTML和AJAX職位的PHP頁面,但由於某種原因,我無法得到值。

我的HTML

<div class="category-submenu"> 
    <ul> 
     <li><a href="#" data-office="Corporate">Corporate</a></li> 
     <li><a href="#" data-office="Office1">Office1</a></li> 
     <li><a href="#" data-office="Office2">Office2</a></li> 
     <li><a href="#" data-office="Office3">Office3</a></li> 
    </ul> 
</div> 

我的jQuery

$('.category-submenu a').click(function(){ 
    $.ajax({ 
     type: "POST", 
     url: "/load-team.php", 
     dataType: 'json', 
     data: {office: $(this).data('office')}, 
     success: function(data) { 
      $.each(data, function(i, item) { 
       alert(data[i].start); 
      }); 
     } 
    }); 
}); 

我的PHP

<?php 

    $office = $_GET['office']; 
    $link = mysql_pconnect("localhost", "root", "root") or die("Could not connect"); 

    mysql_select_db("somedb") or die("Could not select database"); 

    $arr = array(); 
    $query = mysql_query("SELECT first_name, last_name FROM ic_team_members WHERE office ='" . $office . "'"); 

    while($obj = mysql_fetch_object($query)) { 
     $arr[] = $obj; 
    } 

    echo '{"members":'.json_encode($arr).'}'; 

?> 

我敢肯定有一些代碼丟失或我的語法可能在某些部分不正確,但我似乎無法找到位置,如果有的話。

再一次,我想從HTML元素中獲取數據對象,將其通過Ajax傳遞到PHP中,並將結果作爲json對象返回,但我出於某種原因,我認爲錯誤出現在我的PHP中。

任何幫助,將不勝感激。

+0

希望你逃避你面前輸入這個到你的查詢 –

+0

不要自己生成JSON,使用'json_encode(array(「members」=> $ arr))' –

回答

5

你被POST傳遞,因此,你需要用POST接受它:

$office = $_POST['office']; 

否則,使用GET發送Ajax請求:

$.ajax({ 
    type: "GET", 
    ... 

}); 
+0

或者如果你不確定哪種類型的提交即將到來,你可以使用' $ _REQUEST'! –

+0

哇,這很簡單,謝謝你對第二雙眼睛如此愚蠢的事情 –

+0

@RJJordan真實。不應該是這種情況。 – Alvaro