微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ajax 中 Mysql 请求中的 Wordpress 错误 500

如何解决Ajax 中 Mysql 请求中的 Wordpress 错误 500

您好,我正在 wordpress 中实现一个工具,用户可以在其中选择源语言和目标语言来翻译文件。源语言在页面加载时插入到 options 标签中,当用户选择源语言时,系统需要在数据库查询获取所选语言可用的目标语言和需要插入另一个。当我发出 ajax 请求时,服务器以 500 内部服务器错误响应我。查询是正确的,我不明白为什么会发生这种情况。

下拉菜单PHP

<?PHP 
    $languageMatrix = array();
    $currentLanguage = "";
    function show_languages_list(){
    global $wpdb;
    $table_name = "wp_languages_price";
    $prepared_query = $wpdb->prepare("SELECT * FROM ".$table_name."");
    $results = $wpdb->get_results($prepared_query );
    echo '<label for="'.'source'.'">Select source language:</label><select name="'.'source'.'" id="'.'source'.'" onchange="showTargetLanguages(this.value)">';
    echo '<option value="" disabled selected>Select language</option>';
    $sourceLanguages = array();
    foreach($results as $languageCouple){
        //echo '<option>'.$languageCouple->languages_1.' - '.$languageCouple->languages_2.'</option>';
        $languageRow = array($languageCouple->languages_1,$languageCouple->languages_2,$languageCouple->price);
        array_push($languageMatrix,$languageRow);
        //Create an array of unique languages
        if(!in_array($languageCouple->languages_1,$sourceLanguages)){
            array_push($sourceLanguages,$languageCouple->languages_1);
            echo '<option value="'.$languageCouple->languages_1.'">'.$languageCouple->languages_1.'</option>';
        }
        


    }
    echo '</select>';
    echo '<label for="'.'target'.'">Select target language:</label><select name="'.'target'.'" id="'.'target'.'">';
    echo '<option value="" disabled selected>Select language</option>';
    echo '</select>';


}
show_languages_list();?>

Ajax 调用

function showTargetLanguages(sourceLanguage){
            if (sourceLanguage == "") {
                document.getElementById("txtHint").innerHTML = "";
            return;
            } else {
                var xmlhttp = new XMLHttpRequest();
                xmlhttp.onreadystatechange = function() {
                    if (this.readyState == 4 && this.status == 200) {
                    document.getElementById("txtHint").innerHTML = this.responseText;
                    }
                };
                //Target get_stylesheet_directory_uri()."/gettarget.PHP"
            xmlhttp.open("GET",'/wp-content/themes/hello-theme-child-master/gettarget.PHP?q='+sourceLanguage,true);            
            xmlhttp.send();
        } 
}

Ajax GET 请求的 PHP

<?PHP

    $q = ($_GET['q']);
    function get_target_languages(){
        global $wpdb;
        $table_name = "wp_languages_price";
        $prepared_query = $wpdb->prepare("SELECT * FROM ".$table_name." WHERE language_2'=".$q."'");
        $results = $wpdb->get_results($prepared_query );
    }
    get_target_languages();
?>

我做错了吗? 非常感谢您抽出宝贵时间!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。