📅  最后修改于: 2023-12-03 14:43:08.282000             🧑  作者: Mango
使用jQuery的Ajax功能,可以轻松地通过JavaScript将数据发送到WordPress站点。但是,如果WordPress站点的ajax_url未定义,则会收到一个未定义的错误。在这种情况下,可以通过以下方式来解决此错误:
可以通过在前端JavaScript中定义ajax_url来解决此问题。在WordPress主题的functions.php文件中添加以下代码:
function my_ajax_scripts() {
wp_localize_script( 'my-ajax-script', 'my_ajax_object',
array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}
add_action( 'wp_enqueue_scripts', 'my_ajax_scripts' );
然后在前端JavaScript文件中使用以下代码来发送数据:
$.ajax({
url: my_ajax_object.ajax_url,
data: {
'action': 'my_action',
'data': 'my_data'
},
success: function(response) {
console.log(response);
}
});
在这个例子中,我们定义了一个名为‘my_ajax_object’的对象,其ajax_url属性被赋值为WordPress站点的‘admin-ajax.php’URL。然后,我们可以在前端JavaScript中使用ajax_url属性来发送数据。
也可以通过使用站点的绝对路径来解决此问题。在前端JavaScript中使用以下代码:
$.ajax({
url: '/wp-admin/admin-ajax.php',
data: {
'action': 'my_action',
'data': 'my_data'
},
success: function(response) {
console.log(response);
}
});
在这个例子中,我们使用了站点的绝对路径来发送数据,而不是使用ajax_url属性。
WordPress站点的ajax_url未定义可能会导致JavaScript错误。可以通过定义ajax_url或使用站点的绝对路径来解决此问题。