[英]How to call ajax url properly on Wordpress?
我有这个脚本:
<script>
(function($){
load_data();
function load_data(query)
{
jQuery.ajax({
url:"fetch.php",
method:"post",
data:{query:query},
success:function(data)
{
$('#result').html(data);
}
});
}
$('#search_text').keyup(function(){
var search = $(this).val();
if(search != '')
{
load_data(search);
}
else
{
load_data();
}
});
})(jQuery);
</script>
on a php file, but I get constantly an error cause Wordpress doesn't recognize the ajax url (fetch.php) and it tries to generate a new URL in my domain.
我怎样才能正确地做到这一点?
您需要使用wp_ajax
或wp_ajax_nopriv
操作挂钩来使用 WordPress ajax。 检查下面的代码。
要调用
wp_ajax
或wp_ajax_nopriv
操作挂钩,您需要使用 WPadmin_url('admin-ajax.php')
这将返回 wordperss ajax url。
并且,还通过
action
data
参数中的操作。
检查下面的代码。 代码进入您的活动主题函数。php 文件。
function call_ajax(){ ?>
<script>
(function($){
load_data();
$('#search_text').keyup(function(){
var search = $(this).val();
if(search != ''){
load_data(search);
}else{
load_data();
}
});
function load_data( query ){
jQuery.ajax({
url:"<?php echo admin_url('admin-ajax.php'); ?>",
method:"post",
data:{acion:'your_action_name',query:query},
success:function( data ) {
$('#result').html( data );
}
});
}
})(jQuery);
</script>
<?php }
add_action( 'wp_footer', 'call_ajax', 10, 1 );
add_action( 'wp_ajax_your_action_name', 'your_action_name' );
add_action( 'wp_ajax_nopriv_your_action_name', 'your_action_name' );
function your_action_name(){
echo "ajax call";
echo $_POST['query'];
die;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.