wordpress全ajax主题,WordPress主题或插件Ajax请求方法

有一个主题需要在文章页面提交Ajax请求,并在当前页面进行服务端处理,按照常规方法编写代码,结果总是返回404错误。

WordPress主题或插件Ajax请求的正确姿势是:通过admin-ajax.php页面提交。

服务端处理:

如果是主题开发,在functions.php中添加以下代码:

function funcname() {

//服务端处理

}

add_action('wp_ajax_funcname', 'funcname'); //已登录用户

add_action( 'wp_ajax_nopriv_funcnamer', 'funcname' ); //未登录用户

注意funcname为处理函数的名称,可以自定义。hook有两个,一个用于已登录用户,另一个用于未登录用户,两个钩子可以对应不同的函数,以便对不同用户作出不一样的处理,这里的示例对不同用户都作同样的处理。

需要特别注意钩子的名称为:

wp_ajax_处理函数的名称

未登录用户钩子的名称为:

wp_ajax_nopriv_处理函数的名称

前端脚本:

前端代码中的POST URL填写:

前端示例代码:

$.ajax({

cache: false,

type: 'POST',

dataType: 'json',

url: '<?php echo admin_url("admin-ajax.php"); ?>',

data: $('form').serialize(),

async: true,

success: function (data) {

if (data.status == 'success') {

} else {

}

},

error: function(e){

console.log(e.status + ':' + e.statusText);

}

});

服务端示例代码:

function my_func() {

$name = $_POST['name'];

die(json_encode(array('status' => 'success', 'info' => $name)));

}

add_action('wp_ajax_my_func', 'my_func');

add_action( 'wp_ajax_nopriv_my_func', 'my_func' );

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值