我在通过 admin_url 访问 admin-ajax.php 时遇到了一些问题,并且每次都会收到 400 Bad Request。看过这个论坛的一些帖子,但仍然无法理解为什么它不起作用。
我的 setup.php 看起来像这样:
add_action('wp_enqueue_scripts', function () {
wp_enqueue_style('sage/main.css', asset_path('styles/main.css'), false, null);
wp_enqueue_script('sage/main.js', asset_path('scripts/main.js'), ['jquery'], null, true);
wp_enqueue_script('sage/ajax-pagination', asset_path('scripts/ajax-pagination.js'), ['jquery'], null, true);
wp_localize_script( 'sage/ajax-pagination', 'sage', array(
'ajax_url' => admin_url( 'admin-ajax.php' )
));
if (is_single() && comments_open() && get_option('thread_comments')) {
wp_enqueue_script('comment-reply');
}
}, 100);
然后我添加了一个 ajax.js 脚本,我将使用它,它看起来像这样:
$(document).on( 'click', '.nav-links a', function( event ) {
event.preventDefault();
$.ajax({
url: window.sage.ajax_url,
type: 'post',
data: {
action: 'ajax_pagination'
},
success: function( result ) {
alert( result );
}
})
})
因此,每当我单击 .nav_link 时,我只会收到“加载资源失败:服务器从 localhost:3000/wp-admin/admin-ajax.php 响应状态为 400(错误请求)。
有谁知道我做错了什么?提前致谢!