我正在修改现有的wordpress插件,我必须根据使用wordpress方法执行AJAX POST请求 .
我必须在数据字段中传入action参数,该参数应该由wordpress用方法 add_action()
处理 .
php处理函数:
function my-function(){
//my code with the wordpress method
}
add_action('wp_ajax_my-action','my-function');
jQuery ajax调用:
$.ajax({
url: ajax_object.ajax_url,
type: 'POST',
data: {
action: 'my-action'
},
contentType: "application/json",
datatype: "json",
success: function() {
//do something if success
},
error: function( ) {
//do something if fail
}
});
在主插件文件中
wp_enqueue_script('comment_updater', plugins_url('ff_update_comment.js', __FILE__),array('jquery'));
wp_localize_script( 'comment_updater', 'ajax_object', array(
'ajax_url' => admin_url( 'admin-ajax.php' )
) );
问题是该调用返回以下错误:
load-scripts.php?c = 1&load [] = jquery-core,jquery-migrate,utils&ver = 4.9.2:4 POST http://localhost/wordpress/wp-admin/admin-ajax.php 400(错误请求)
我遵循了很多教程和文档,代码似乎是正确的,因为它在教程中完美运行 .