无法通过AJAX获取PHP变量

时间:2013-09-24 15:41:43

标签: php jquery ajax

我正在使用Wordpress,我有一个页面,我有一个下拉菜单,当点击链接时,它将进行Ajax调用并将数据变量传递给PHP,至少这是我正在尝试做的事情lol

当点击链接时,我检查我的浏览器,在网页标签页面中,我收到了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中。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:5)

您是通过POST传递的,因此您需要通过POST收到它:

$office = $_POST['office'];

否则,使用GET发送ajax请求:

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

});