ajax成功加载php函数
我正在寻找一种在ajax请求成功时调用php函数的方法 基本设置代码:ajax成功加载php函数,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我正在寻找一种在ajax请求成功时调用php函数的方法 基本设置代码: wp_register_script( 'theme-follow-me-ajax', ... ); wp_localize_script('theme-follow-me-ajax', 'ajax_setting', array( 'ajax_url' => admin_url('admin-ajax.php'), 'ajax_follow_e
wp_register_script( 'theme-follow-me-ajax', ... );
wp_localize_script('theme-follow-me-ajax', 'ajax_setting', array(
'ajax_url' => admin_url('admin-ajax.php'),
'ajax_follow_error' => $this->km_follow_me_error(),
....
));
wp_enqueue_script( 'theme-follow-me-ajax' );
显示错误的内容,应该是可自定义的
public function km_follow_me_error() {
$content = esc_html__( 'An error happened. We\'re unable to complete your request.', 'theme' );
echo apply_filters( 'theme_hook_follow_me_error_message', $content );
}
Ajax调用:
$.ajax( {
url : ajax_setting.ajax_url,
type : 'post',
data: {
action : 'km_ajax_follow_me',
security : ajax_setting.ajax_nonce,
...
},
success: function( data ) {
$('.km-follow-me').html( ajax_setting.ajax_follow_success ).hide().fadeIn( 'slow' );
//console.log( ajax_setting.ajax_follow_success );
},
} )
WPWP\u ajax\uwp
函数
public function addon_ajax_follow_me() {
check_ajax_referer( 'km-ajax-create-nonce', 'security' );
... update user meta ...
wp_die();
}
$this->loader->add_action( 'wp_ajax_km_ajax_follow_me', $plugin_public, 'addon_ajax_follow_me' );
在控制台中,我得到了null
消息,因此它没有抓取km\u follow\u me\u error
函数
有更好的方法吗?你做得不对。无法按照您尝试的方式从Javascript调用/访问PHP函数。在AJAX成功时,有两个选项可以调用该函数
AJAX\u follow\u success
,并在上一个AJAX调用的成功中调用它addon\u AJAX\u follow\u me
是成功还是失败,并在那里调用下一个函数您的第一个ajax调用实际上是“调用一个PHP函数”。这是正确的方法,无法直接从脚本执行,因为PHP在服务器上运行,JS在客户机上运行,并且在页面生命周期的不同时间运行。因此,要调用另一个PHP函数,您需要重复相同的模式,即对不同URL的另一个ajax调用,该调用将运行一些PHP来调用您需要的函数,并将结果返回到浏览器。您可以创建一个示例吗?或者知道更详细地解释这一点的教程吗?大多数关于wpajax的教程都没有涉及这个主题(ajax中的ajax),没有什么内容。在第一个ajax调用的success函数中,使用相同的语法进行另一个ajax调用。抱歉,我认为这很明显,您已经知道如何进行ajax调用。顺便说一句,这并不是wordpress特有的。如何在php函数中检查它是成功还是失败?你能举个例子吗?@kiarashi这完全取决于你的逻辑。那个AJAX函数叫什么?这是否执行得很完美,并且您得到了预期的结果/值?如果是,那就是成功,否则就不是。