2016-03-22 17 views
0

をキャッチすることはできません私は私のワードプレスで行われ、次のAjaxのポストを持っている:WordpressのAjaxのポストが機能していない情報

(function($) { 
$('.selectas').change(function() { 

     action = 'post_selectas', 
     data = {option : selectedValue}; 

     jQuery.post(ajaxurl, data, function(response) { 
      console.log("Duomenys issiusti !" + response); 
     }); 
    }); 
})(jQuery); 

このページではその後のajax投稿、コンソールはその作業を言いますが、私は情報をキャッチすることはできません...ここにすべての機能があります

function select_skript() { 
    if (is_admin()) { 
     $scriptsrc = get_stylesheet_directory_uri() . '/dist/scripts/'; 
     wp_register_script('selectas', $scriptsrc . 'selectas.js', 'jquery', '1.0', true); 
     wp_enqueue_script('selectas'); 

     $translation_array = array('templateUrl' => get_stylesheet_directory_uri()); 
     wp_localize_script('selectas', 'selectas_js', $translation_array); 
    } 
} 

add_action('admin_enqueue_scripts', __NAMESPACE__ . '\\select_skript'); 

function post_selectas(){ 

    $id_nr = $_REQUEST['data']; 
    $ids = $_POST['data']; 

    return "$id_nr or $ids"; 
    return "test"; 

    } 

機能は何もデータテストまたはIDを返していません....どこに問題がありますか?

+0

[Wordpress and AJAX](https://codex.wordpress.org/AJAX_in_Plugins)。ワードプレスでajaxを正しく使う方法を見てください。 –

+0

1. 'return'を2回使用することはできません。 2.結果を返すのではなく、結果を「印刷」するべきだと思います。 3.チュートリアル@dingo_dを参照してください、あなたのコードはいくつかのものが欠けている。 –

+0

私はまだ結果を得ることができない場合、私はまだそれらを得ることはできません... –

答えて

0

はこれで試してみてください:

<?php 

add_action('admin_enqueue_scripts', 'select_skript'); 

function select_skript() { 
    if (is_admin()) { 
     $scriptsrc = get_stylesheet_directory_uri() . '/dist/scripts/'; 
     wp_register_script('selectas', $scriptsrc . 'selectas.js', 'jquery', '1.0', true); 
     wp_enqueue_script('selectas'); 

     $translation_array = array(
      'templateUrl' => get_stylesheet_directory_uri(), 
     ); 
     wp_localize_script('selectas', 'selectas_js', $translation_array); 
    } 
} 

add_action('wp_ajax_post_selectas', 'post_selectas_callback'); 

function post_selectas_callback(){ 

    $id_nr = $_REQUEST['data']; 
    $ids = $_POST['data']; 

    // return "$id_nr or $ids"; // the or in return won't work; see http://stackoverflow.com/a/14394447/629127 
    echo "test"; 

    die(); 
} 

AJAX in Pluginsによると、あなたがwp_ajax_{function_name}フックにあなたの関数をフックする必要があります。

add_action('wp_ajax_post_selectas', 'post_selectas_callback'); 

そして、あなたはdie()が欠落している(またはwp_die()は、同じである必要があります)、すぐに終了し、適切な応答を返します。

+0

ありがとうございました!!! :-) –

+0

問題ありません、喜んで:) –

関連する問題