它需要一个完整的URL,因为即使它可能在后端相对正确的位置,但在前端,在页面最终提供服务的URL上,它却不在同一个位置。
你在正确的道路上wp_localize_script
. 您希望将ajax脚本排队,然后将管理ajax url传递给wp_localize_script
:
function my_init_method(){
wp_enqueue_script( \'my-ajax-request\', plugin_dir_url( __FILE__ ) . \'js/my_ajax_script.js\', array( \'jquery\' ) );
wp_localize_script( \'my-ajax-request\', \'MyAjax\', array( \'ajaxurl\' => admin_url( \'admin-ajax.php\' ) ) );
}
add_action(\'init\', \'my_init_method\');
现在,在ajax脚本中,您可以参考
MyAjax.ajaxurl
用于URL。
Check this post 为了更好地在插件和主题中正确使用ajax,以下是WP Codex链接的示例。