单击图像以使用其他语言(jquery、php和会话)重新加载当前页面
我需要有一个简单的翻译方法为我的网页。 为此,我必须单击国旗以显示国家语言版本。 我有很多页面,所以我想在单击时用正确的语言重新加载当前页面,而不是重新加载索引页面 我编写了这个,它可以工作,但只在Chrome上???它并不完美,因为我需要点击两下才能显示翻译页面 我在index.php上的脚本:单击图像以使用其他语言(jquery、php和会话)重新加载当前页面,php,jquery,session,Php,Jquery,Session,我需要有一个简单的翻译方法为我的网页。 为此,我必须单击国旗以显示国家语言版本。 我有很多页面,所以我想在单击时用正确的语言重新加载当前页面,而不是重新加载索引页面 我编写了这个,它可以工作,但只在Chrome上???它并不完美,因为我需要点击两下才能显示翻译页面 我在index.php上的脚本: <script src="data/jquery/jquery-1.11.2.min.js"></script> <script> fun
<script src="data/jquery/jquery-1.11.2.min.js"></script>
<script>
function gotoLang(id){
$.ajax({
url: 'langage.php',
type : 'GET',
data: 'lang='+id
});
document.location.reload(false) // to reload page after edit session['langage']
}
</script>
我的html代码:
<a href="#" onclick="gotoLang('fr')"><img src="flags/France.png"></a>
<a href="#" onclick="gotoLang('it')"><img src="flags/Italy.png"></a>
以及langage.php页面,该页面称为:
<?php
session_start();
$_SESSION['langage'] = $lang;
//echo $_SESSION['langage'];
?>
所以这种方法是有效的。。。但不是firefox?!我需要点击2次来显示正确的文件。
有没有更好的想法?您需要给$.ajax时间来完成,因为它是异步的
现在,重新加载是在ajax完成之前进行的,它将导致ajax中止
$.ajax({
url: 'langage.php',
type: 'GET',
data: 'lang=' + id
}).done(function (response) {
/* should validate response here */
document.location.reload(false);
}).fail(function(){
alert('Ooops...server problem');
});