我需要你的帮助。我有一个需要使用 ajax 请求显示结果的表单。结果未显示在前端。但是如果我们通过登录到后端来清除缓存,它工作正常,几天后表单再次损坏。然后再次清除后端的缓存。但最终,几天后,它又坏了。
如果我们在主页上的 URL 上添加参数,该表单也可以工作,例如www.mywebsite.com/?a=swsa
我试图搜索可能的解决方案,但我什么也没看到。
这是我的前端代码:
<script type="text/javascript">
jQuery(document).ready(function($) {
var ajaxurl = '<?php echo admin_url("admin-ajax.php"); ?>';
$("#post_code").keyup(function(){
var postcode = $(this).val();
$("#init_post_code").val(postcode);
if(postcode != ''){
var data = {
action: 'postcode_process',
postcode: postcode,
security: '<?php echo wp_create_nonce("get-postcodes"); ?>'
}
$.getJSON(ajaxurl, data, function(response){
if(response.success){
$("#init_location").val(response.data.location);
}
});
}
});
});
</script>
这是后端代码:
function process_postcode(){
//ajax
check_ajax_referer('get-postcodes','security');
//entered data
$entered_postcode = strtoupper($_REQUEST['postcode']);
//array of zip codes
//my conditions displays here
$zone1 = array('bunch of zip codes');
$response = array();
//some conditions on the form
if(in_array($cleaned[0],$zone1)){
$response['location'] = 'central_london';
}
wp_send_json_success($response);
wp_die();
}
add_action('wp_ajax_postcode_process', 'process_postcode');
add_action('wp_ajax_nopriv_postcode_process', 'process_postcode');
希望你们能帮助我解决这个问题。