在定义Ajax处理程序时,应该考虑同时为登录用户和未登录用户定义。您可以通过以下方式执行此操作:
add_action(\'wp_ajax_my_handler\', \'callback_function\');
add_action(\'wp_ajax_nopriv_my_handler\', \'callback_function\');
现在,关于你的问题。如果您感兴趣,我们可以将此代码转换为REST端点,这样可以更快更容易地进行设置。让我们从定义路由开始。
add_action( \'rest_api_init\', function () {
register_rest_route( \'karts\', \'/ins_get_membershiptypes_from_country/\', array(
\'methods\' => \'GET\',
\'callback\' => \'ins_get_membershiptypes_from_country_callback\'
) );
});
此时,我们可以通过访问以下内容来运行我们的任务:
www.example.com/wp-json/karts/ins_get_membershiptypes_from_country/
现在是Ajax调用。使用此选项可以本地化脚本,并传递网站URL:
wp_localize_script( \'member-front-script\',\'ins_membership_ajax\', array(
\'ajax_url\' => site_url()
));
因此,我们可以访问Ajax调用中的路径:
$("#member_country").change(function() {
var country = $(this).val();
alert(country);
var ajax_url_mtypes = ins_membership_ajax.ajax_url + \'/kartsins_get_membershiptypes_from_country\';
alert(ajax_url_mtypes);
jQuery.ajax({
url:ajax_url_mtypes,
method:\'GET\',
data : { country : country},
dataType: \'json\',
success:function(response) {
//var resp = $.trim(response);
alert(response);
//$("#ins-member-profile-select-state").html(resp);
}
});
我并没有为调用定义JSON数据类型。这样,您将在默认情况下获得Json响应。