如何使用jQuery从PHP获取变量

时间:2016-07-10 21:11:50

标签: javascript php jquery mysql ajax

我正在尝试使用ajax和jQuery从MySQL获取数据。现在,唯一返回的是" 0"。这是我的PHP函数:

function dallas_db_facebook_make_post () {
    global $wpdb;
    $query = "SELECT * FROM wp_dallas_facebook WHERE time > NOW() ORDER BY time LIMIT 1";
    $results = $wpdb->get_results($query, ARRAY_A);

    foreach($results as $result) {
        $fbpost =  $result['text'];
    }   

}

这是我的jQuery函数:

function send_fb_post() {
    jQuery.ajax({
        type: "GET",
        url: my_ajax.ajaxurl,
        data: {
            'action': 'dallas_db_facebook_make_post'
        },
        beforeSend: function() {
        },
        success: function(data){

            console.log(data);

        },
        error: function(){
        },
    });
};

2 个答案:

答案 0 :(得分:2)

你没有得到任何东西,因为你没有打印/回应任何东西。

如果您尝试

会发生什么
foreach($results as $result) {
    echo $fbpost =  $result['text'];
}   

答案 1 :(得分:0)

您的代码无效,因为您没有在服务器端打印任何内容。所以你可以像下面这样对代码进行小的更改。 jsonencode用于返回数据数组。

function dallas_db_facebook_make_post () {
    global $wpdb;
    $query = "SELECT * FROM wp_dallas_facebook WHERE time > NOW() ORDER BY time LIMIT 1";
    $results = $wpdb->get_results($query, ARRAY_A);

    $fbpost = array();

    foreach($results as $result) {
        $fbpost =  $result['text'];
    }   
    echo json_encode($fbpost);
    exit;
}

回复你json_encodeed数据。您可以使用以下函数在响应回调中解码和使用此数据。

function send_fb_post() {
    jQuery.ajax({
        type: "GET",
        url: my_ajax.ajaxurl,
        data: {
            'action': 'dallas_db_facebook_make_post'
        },
        beforeSend: function() {
        },
        success: function(data){

            console.log(jQuery.parseJSON( data ));

        },
        error: function(){
        },
    });
};