使用ajax更改网站语言

时间:2017-06-03 09:32:43

标签: php jquery html ajax laravel

我有非常简单的PHP html代码用于更改我的网站语言,我需要使用Ajax在选择语言之后不重新加载但老实说我以前从未使用过ajax而且我不知道如何使用它。

我谷歌并发现了一些代码,但我失败了。

HTML:

 <form action="" method="get">
      <input type="submit" value="per" id="per" name="per">
      <input type="submit" value="eng" id="eng" name="eng">
</form>

PHP:

function lang()
{
    $lang = 'per';
    if (isset($_GET['per']))
        return $lang = 'per';
    else
        return $lang = 'eng';
}

的Ajax:

$.ajax({
    type: "GET",
    url: 'index.blade.php',
    data: {name: 'per'},
    success: function(data){
               alert(data);
               window.location.reload();
             }
    });

所有代码都在一个名为

的页面上
index.blade.php

php代码工作正常只需要ajax就可以在我单击按钮时重新加载页面

2 个答案:

答案 0 :(得分:2)

试试这个:

HTML:

<html>
<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<form action="" >
    <button type="submit" id="button1">Click
    </button>
</form>

<script type="text/javascript" src="1.js"></script>
<!--<script type="text/javascript" src="2.js"></script>-->
</html>

JS:

document.getElementById("button1").addEventListener("click",function(e){
    //alert("hello");
    e.preventDefault();  //a button's default behavior is to submit the form which this function prevents
        $.ajax({
        url:"example.php",
        success:function(result){

            alert(result);
            location.href=location.href; //here you can specify where you want to get your ajax call to redirect to.
        }

    })
    return false;

})

php文件:

<?php
echo "Hello world";
?>

希望这就是你要找的东西!

答案 1 :(得分:1)

我建议学习一些关于Ajax的教程,我将尝试在这里简要介绍一下这个主题。

首先,在做Ajax时,你基本上调用一个网页或脚本(一个实际的url,而不是用PHP编写的函数)。获得的结果(HTML,XML,CSS,JSON,JPG),您可以在代码中使用,在DOM中插入ii,更改文档等。

在我看来,更改语言是一个站点范围的操作,应该可以作为正常调用来实现。 Genearaly,如果你改变语言,那么整个页面应该被翻译,从结束体之前的文本的顶部(标题)到最后一部分。

如果您只需要更改网页的一小部分,请参阅网址 jQuery get

该页面使用了一个示例

$.get( "ajax/test.html", function( data ) {
  $( ".result" ).html( data );
  alert( "Load was performed." );
});

执行您想要的操作,只需更改网址即可。希望我帮了一下。