2013-11-03 58 views
0

我嘗試使用下面的代碼來計算的MP3播放這是在Ajax的counter.js上的WordPress插件爲什麼我的ajaxurl變量顯示爲undefined?

jQuery(document).ready(function($) { 
    console.log(ChurchAdminAjax.ajaxurl); 
    $("audio").bind("play", function(){ 
     console.log(ChurchAdminAjax.ajaxurl); 
     var data = {action: "play_count",file_id: $(this).attr("id")}; 
     $.post(ChurchAdminAjax.ajaxurl, data); 
    }); 
}); 

我用下面的入隊和定位該腳本

wp_enqueue_script('ca-ajax-request', CHURCH_ADMIN_INCLUDE_URL. 'ajax-counter.js', array('jquery')) 
wp_localize_script('ca-ajax-request', 'ChurchAdminAjax', array('ajaxurl' => admin_url('admin-ajax.php'))); 

第一的console.log成功顯示ajaxurl,但控制檯表示未捕獲 的ReferenceError:ajaxurl沒有定義 並且即使當HTML5音頻播放所述第二的console.log未示出和AJAX不發送!

我在做什麼錯?

+0

該代碼適用於我(第一和第二個日誌),但在'wp_enqueue_script'結尾處有一個缺失的分號。 **請**,閱讀指南[SSCCE](http://sscce.org)。 – brasofilo

回答

0

我沒有安裝這臺機器測試,以便原諒我猜測這裏的空白WP,但調試了類似的問題就在一週時,有些事情我也嘗試:

  1. 您能你在綁定處理程序中的其他任何東西?看看處理程序是否真的在開火。
  2. 在聲明此綁定後,是否可以有一些其他代碼解除綁定您的偵聽器?
  3. 您是否嘗試過使用window.ChurchAdminAjax.ajaxurl或將ChurchAdminAjax.ajaxurl分配給本地變量(在就緒處理程序中)並使用它?

當然,最後一個有點長,但你永遠不會知道。