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