我有一个类似iOS的复选框样式,使用我想要更改网站语言的状态。我使用以下代码:langchange.js
$(document).ready(function(){
$("#langfct").change(function() {
if($(this).is(":checked")) {
$.ajax({
url: 'langfunc.php',
type: 'POST',
data: { langstate: "fr" }
});
alert('fr');
window.location.reload();
} else {
$.ajax({
url: 'langfunc.php',
type: 'POST',
data: { langstate: "en" }
});
alert('en');
window.location.reload();
}
});
});
langfunc.php
<?php
session_start ();
$valang = $_POST['langstate'];
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
if ($valang == fr){
include("french.php");
}elseif ($valang == en) {
include("english.php");
} else{
switch ($lang){
case "fr":
//echo "PAGE FR";
include("french.php");//include check session FR
break;
case "en":
//echo "PAGE EN";
include("english.php");
break;
default:
//echo "PAGE EN - Setting Default";
include("english.php");//include EN in all other cases of different lang detection
break;
}
}
?>
如何使用复选框的状态,保存langstate并重新加载数据?Thx
2条答案
按热度按时间lnlaulya1#
重新构造代码如下。问题是,在 AJAX 完成之前,您正在重新加载页面,并且可能由于阻塞警报而无法发送ajax。
vh0rcniy2#
kale.ajaxCall('/' +“Language/SetLanguage?langtag=”+ langtag,{},function(data){ location.reload();