使用wordpress内置的admin-ajax.php有什么意义?

时间:2014-07-27 作者:true

我试图理解为什么要使用管理ajax。php比这样做更有优势:

add_action (\'wp_loaded\', \'my_ajax\');
function my_ajax() {
   // Do Ajax, Check $_POST
   die();
}
JQuery ajax只指向博客的索引。

管理ajax。php要做一些简单的事情似乎相当复杂,必须注册脚本、添加挂钩并设置一个js变量url来指向管理ajax。php,然后使用wp_ajax_nopriv_uu与wp_ajax_u。更不用说后端和前端混合在一起有点奇怪了。我很肯定这是一个类比。

那么为什么要使用它呢?管理ajax。php的开销更少?这纯粹是标准吗?它有什么神奇之处吗?如果不使用它,你会错过什么?

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

首先,就像WordPress中的许多东西一样,这不像是有人决定“让我们把它变得整洁和方便”。这更像是有人为了某件事把它拼凑在一起,然后它在管理中得到了更多的使用,然后在管理中得到了大量的使用,然后也变成了一种练习,将它用于非管理。或者类似的东西。

其次,与其说它做了什么,不如说它知道它总是做同样的事情。您不知道对前端任意部分的请求在做什么。如果analytics插件正在运行,并将其计算为页面视图,该怎么办?如果存在处理季节性URL的复杂重定向逻辑,该怎么办?如果,如果。。。

Ajax端点对于Ajax来说意味着:

它声明DOING_AJAX 对于上下文,许多事情都会让它跳过正在执行的任何操作,它会设置HTTP头和内容,它提供基本的代码组织约定,包括用户/匿名区分

结束

相关推荐

JQuery自动完成不使用wp_LOCALIZE_SCRIPT

背景知识:我正在为交易列表(自定义分类法)构建一个自动完成搜索框。我问this question 并且非常有帮助地更好地理解了WordPress和AJAX是如何协同工作的(感谢G.M)!然而,他说我应该使用wp_localize_script 因此,前端无法访问PHP。我知道这个函数,但从未使用过,所以有点不情愿地陷入了困境。我发现this post 它还对WordPress和AJAX如何协同工作进行了非常有用的解释。我实现了Stephen Harris提供的代码,但每当我在搜索栏中搜索任何内容时,我的控