2016-08-10 29 views
1

我写了WordPress ajax插件,但是admin-ajax.php总是返回0并且不工作。WordPress admin-ajax.php总是返回0

这里是我的代码:

add_action('wp_ajax_example_ajax_request', 'example_ajax_request'); 
add_action('wp_ajax_nopriv_example_ajax_request','example_ajax_request'); 
wp_enqueue_script('test', plugins_url('actions/js/test.js', __FILE__), array('jquery'), '1.0', true); 
wp_localize_script('test', 'ajax_object', array('ajax_url' => admin_url('admin-ajax.php'))); 

function example_ajax_request() { 
    echo"d"; 
    die(); 
} 

我的javascrip test.js文件:

jQuery(document).ready(function($) { 
    var fruit = 'Banana'; 
    $.ajax({ 
     url: ajaxurl, 
     data: { 
      'action':'example_ajax_request', 
      'fruit' : fruit 
     }, 
     success:function(data) { 
      console.log(data); 
     }, 
     error: function(errorThrown){ 
      console.log(errorThrown); 
     } 
    }); 

}); 

如何工作的呢?

感谢。

+0

'网址:ajaxurl'应该是'网址:ajax_url'。 – MinhTri

+0

@FerdiKUCUK可以发表评论吗? – LoicTheAztec

回答

1

。在你的查询脚本错误:

jQuery(document).ready(function($) { 
    var fruit = 'Banana'; 

    $.ajax({ 
     url: ajax_object.ajax_url, // =================> HERE is the problem 
     data: { 
      'action':'example_ajax_request', 
      'fruit' : fruit 
     }, 
     success:function(data) { 
      console.log(data); 
     }, 
     error: function(errorThrown){ 
      console.log(errorThrown); 
     } 
    }); 

}); 

您需要使用ajax_objectajax_urlwp_localize_script()这样定义的:

url: ajax_object.ajax_url, 

参考: