我写过WordPress ajax插件但是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 :(得分: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_object
与 ajax_url
一起使用 wp_localize_script()
:< / p>
url: ajax_object.ajax_url,
参考: