当前位置:首页WP教程WordPress主题或插件Ajax请求方法

WordPress主题或插件Ajax请求方法

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

<?php echo admin_url(\"admin-ajax.php\"); ?>

前端示例代码:

$.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\' );
温馨提示:

文章标题:WordPress主题或插件Ajax请求方法

文章链接:https://www.jitheme.com/2532.html

更新时间:2024年03月28日

1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:service@jitheme.com,我们将第一时间处理!

2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。

3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读极(子)主题网络服务协议

给TA打赏
共{{data.count}}人
人已打赏
WP教程

WordPress输出Bootstrap4结构的菜单

2023-3-8 22:10:30

WP教程

CSS文本超出省略号 多行文本溢出显示省略号

2023-3-8 22:10:34

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
有新私信 私信列表
搜索
  • 沐颜小栈-MUOOY.CN发布问答关于使用子主题一个月后的一些建议或者BUG反馈 等您回答!
  • 沐颜小栈-MUOOY.CN发布问答文章内页声明在后台留空后还是显示的问题反馈 等您回答!
  • 极*****0对文章B2钩子集合!打赏了¥1赞助,谢谢老板!
  • 老胡对文章B2钩子集合!打赏了¥1赞助,谢谢老板!
  • 老胡发布问答 等您回答!
  • 老胡发布问答 等您回答!