2017-01-13 13 views
0

私は単純なwordpress ajaxをやっていますが、応答が非常に遅く、データを取得できません。ここでWordpress ajaxは非常に遅く、投稿データを取得できません

JS

function getProductData(idObj) { 
    $.post('/wp-admin/admin-ajax.php', {'action':'get_product_data','data':'asdasd'}, function(response) { 
     console.log(response); 
    }); 
} 

PHP

function get_product_data() { 
    echo $_POST['data']; 
} 
add_action('wp_ajax_get_product_data', 'get_product_data'); 
add_action('wp_ajax_nopriv_get_product_data', 'get_product_data'); 

応答は常に0であり、それが応答するために12秒かかります私のコードです。

+0

最後の2行を削除してもう一度実行できます。 (テスト目的) – plonknimbuzz

答えて

1

あなたはget_product_data関数の最後にdie()またはwp_die()を追加する必要があります。

function get_product_data() { 
    echo $_POST['data']; 
    die(); 
} 
+0

wp_dend()を持つwp_send_json_success()を試してみましたが、それでレスポンスを出力できます。しかし、私はまだ投稿データを取得することができません。 – marccaps

0

私はこのコードを試していないが、私はそれはあなたのために働く願っています。

JS: Change 

      function getProductData(idObj) { 

       $.post('/wp-admin/admin-ajax.php', {'action':'get_product_data','data':'asdasd'}, function(response) { 
        console.log(response); 
       }); 
      } 

     to 

     function getProductData(idObj) { 
      $.ajax({ 
     type: 'POST', 
     url: '/wp-dmin/admin-ajax.php', 
     data: { 
     action: 'get_post_data', 
     'myecho': myecho, 
     } 

    PHP: change 

    function get_product_data() { 
     $myecho = $_POST['data']; 
     echo $myecho; 
    } 
    add_action('wp_ajax_get_product_data', 'get_product_data'); 
    add_action('wp_ajax_nopriv_get_product_data', 'get_product_data'); 
関連する問題