[WordPress] Ajax のワードプレスが動作しません。

スポンサーリンク

Question

js ファイル: (walking_log.js)

  jQuery.ajax
  ({
        url: '',
        type: 'POST',
        data: {
          'action':'myaction'
        },
        success: function(data)
        {
            alert('Happy new year 2015 :) ');
        },
        error: function(data)
        {
            alert( 'Sorry! No Happy New year 2015 :(' );
        }
  });

php ファイル:

// Ajax Handler.
function so_enqueue_scripts()
{
  $plugin_dir_path = dirname(__FILE__);
  $plugin_url = plugins_url();
  wp_enqueue_script( 'ajaxHandle', $plugin_url . '/walking-log/js/walking_log.js', array('jQuery') );
  wp_localize_script( 'ajaxHandle', 'myAjax', array( 'ajaxurl' => admin_url( 'admin_ajax.php' ) ) );

  add_action( 'wp_ajax_myaction', 'so_wp_ajax_function' );
  add_action( 'wp_ajax_nopriv_myaction', 'so_wp_ajax_function' );
}
add_action( 'init', 'so_enqueue_scripts' );

function so_wp_ajax_function()
{
    die();
}

walking_log.js

のパスが正しい、ブラウザーでそれを開いています。成功失敗の警告を得ています。なぜかを分からない。任意の助けをいただければ幸いです

編集: firebug の上これを得ている

"NetworkError: 404 Not Found - http://192.168.1.6/Interaction/exercise-log/%3C?php%20echo%20admin_url(%22admin-ajax.php%22);%20?%3E"

なぜこれが起こっているか?

答え

js ファイルにこの行を引き起こしている必要がありますエラー.

 url: '',

js ファイルで php 関数 admin_url を呼び出しています。JS ファイルには php fn. は呼び出しません

エラーがそれを確認する.エンコードされた url

%3C?php%20echo%20admin_url(%22admin-ajax.php%22);%20?%3E

デコードされた URL


http://stackoverflow.com/questions/27728667/ajax-not-working-wordpress

スポンサーリンク

Leave a Reply