在WordPress中,处理ajax表单数据的默认方式有点复杂。像这样修改js代码。
function ajaxSubmit(e){
    // prevent the default action.
    e.preventDefault();
    var myform= jQuery(this).serialize();
    jQuery.ajax({
        type:"POST",
        // Get the admin ajax url which we have passed through wp_localize_script().
        url: ajax_object.ajax_url,
        action: "submitAjaxForm",
        data: myform,
        success:function(data){
            jQuery(".records").html(data);
        }
    });
return false;
}
 在上面的JS代码中,我替换了表单url并添加了action参数。Wordpress为我们提供了一个统一的文件,即AdminAjax。php。它用于通过admin ajax调用服务器端PHP函数。php。如果未指定操作,请管理ajax。php将退出,并在过程中返回0。
Why form url replaced with ajax_object.ajax_url ? 
因为您已经通过了管理ajax。使用wp\\u localize\\u脚本将php转换为JS文件。它还用于通过admin ajax调用服务器端PHP函数。php。如果未指定操作,请管理ajax。php将退出,并在过程中返回0。
Define form action.
要定义表单操作,我们需要使用
wp_ajax_ 和
wp_ajax_nopriv_ 作为前缀。使用回调函数来处理这些表单数据
示例。
add_action(\'wp_ajax_{YourFormAction}\',\'{CallbackFunction}\');`
add_action(\'wp_ajax_nopriv_{YourFormAction}\',\'{CallbackFunction}\');
 - wp_ajax_nopriv_{YourFormAction} 为未登录的用户执行
将此代码添加到
functions.php 文件
add_action(\'init\', \'registerFormAction\');
    function registerFormAction(){
        // To handle the form data we will have to register ajax action. 
        add_action(\'wp_ajax_nopriv_submitAjaxForm\',\'submitAjaxForm_callback\');
        add_action(\'wp_ajax_submitAjaxForm\',\'submitAjaxForm_callback\');
    }
Handle ajax form data 将要处理表单数据的所有代码放在回调函数中,我们最近使用了wp_ajax_{yourAction} 在上面
function submitAjaxForm_callback(){
    global $wpdb;
    if (isset($_POST[\'store_list\']) && $_POST[\'store_list\'] != \'Select by Store\'){
            $store_list = $_POST[\'store_list\'];
            $stores= $wpdb->get_results($wpdb->prepare("SELECT malls FROM tablename WHERE stores= \'" . $store_list . "\' AND code IN (\'test3\') ORDER BY street ASC", OBJECT));
            foreach ($stores as $record_s){
                echo \'<div class="records">\';
                echo \'<div><span>\' . $record_s->malls . \'</span></div>\';
                echo \'</div>\';
            }
        } elseif (isset($_POST[\'street_list\']) && $_POST[\'street_list\'] != \'Select by\'){
        $street_list = $_POST[\'street_list\'];
        $streets = $wpdb->get_results($wpdb->prepare("SELECT street FROM tablename WHERE street_list= \'" . $street_list. "\' AND code IN (\'test3\') ORDER BY stores ASC", OBJECT));
        foreach ($streets as $record_m){
            echo \'<div class="records">\';
            echo \'<div><span>\' . $record_m->stores . \'</span></div>\';
            echo \'</div>\';
        }
    }
    // We must have to terminate, to get proper response.
    wp_die();
}
 希望对您有所帮助!:)