所以我正在尝试通过我的小部件上的wordpress运行AJAX;使用以下方法:
黎明标签小部件.php:(我的主要小部件的文件)
class dawn_tab_widget {
... // referring to irrelevant functions in the class
function tab_ajax_result() {
echo 'helloworld';
die();
}
}
wp_enqueue_script( 'tab-ajax', get_template_directory_uri() . '/assets/js/tab-ajax.js', array( 'jquery' ), false, true );
wp_localize_script( 'tab-ajax', 'ajaxObject', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
add_action('wp_ajax_tab_ajax', 'tab_ajax_result');
add_action('wp_ajax_nopriv_tab', 'tab_ajax_result');
tab-ajax.js (in/template/assets/js/)
jQuery(document).ready(function($) {
alert("Loading Page");
var data = { action: 'tab_ajax_script' },
$.post(ajaxObject.ajaxurl, data, function(response) {
if(response.length > 2) {
alert("loaded");
}
});
})
它根本不起作用,我什至没有收到"加载"警报。为什么会这样?
此add_action('wp_ajax_tab_ajax', 'tab_ajax_result');
将不起作用,因为函数tab_ajax_result
在类内。 请阅读有关在类内函数时添加操作的更多信息。