即使PHP返回正确的数据,jQuery .post也没有响应

时间:2014-01-29 19:20:39

标签: javascript jquery html ajax

这是我的jQuery

function SelectSubCats(cat_num) {
    console.log("Select SubCats..");
    $.post("ajax.php", {
        _populateSubCats : 1,
        cat_num : cat_num
    },
    function(data){
        console.log("Data: " + data );
    });
}

我没有达到console.log声明是问题。

ajax.php中的

else if(array_key_exists('_populateSubCats', $_POST)) { // {{{
    $cat_num = $DB->escape($_POST['cat_num']);
    print GetSubCats($cat_num);
} // }}}

function GetSubCats($cat_num) {
    global $DB;
    $returnHTML = '';

    $query = "SELECT sc_i_num, sc_s_subcategory FROM subcat "
            . "WHERE sc_i_c_num = {$cat_num} "
            . "ORDER BY sc_s_subcategory";  
    $result = $DB->query($query);
    $returnHTML .= "<option value=''></option>";
    while($obj = $DB->next($result)) {
        $returnHTML .= "<option value='{$obj->sc_i_num}'>{$obj->sc_s_subcategory}</option>";
    } 
    return $returnHTML;     
}

返回为<option>生成<select>秒。这个想法是,有类别和子类别。上面的jQuery函数在类别onchange的{​​{1}}中调用。最后,我想将<select>替换成附加内容,将新数据添加到子类别选择中。但是现在,我只是想得到回应。我已经记录了php端,并得到了我需要的确切响应。还有什么事?

1 个答案:

答案 0 :(得分:3)

通过添加, 'html'来指定所需的回复类型。

即:

function SelectSubCats(cat_num) {
    console.log("Select SubCats..");
    $.post("ajax.php", {
        _populateSubCats : 1,
        cat_num : cat_num
    },
    function(data){
        console.log("Data: " + data );
    }, 'html' );
}