2017-06-03 6 views
0

私のウェブサイトの言語を変更するための非常に単純なPHPのhtmlコードがあります。選択した言語の後でリロードしないようにAjaxを使用する必要がありますが、正直なところ私はajaxを使ったことがありません。それを使用する。ajaxをウェブサイトの言語に変更する

私はそれをgoogleしていくつかのコードを見つけましたが、失敗します。

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({ 
    type: "GET", 
    url: 'index.blade.php', 
    data: {name: 'per'}, 
    success: function(data){ 
       alert(data); 
       window.location.reload(); 
      } 
    }); 

すべてのコードの1ページに名前が付けられてい

index.blade.php 

phpコードが正常に動作するボタンをクリックしたときにajaxをリロードしないページが必要

+0

あなたはajaxの成功応答 – hasan

+0

はいの後にページの再読み込みを防止しようとしていますか?それはまさに私がしたいことです。 – siros

+0

しかし、window.location.reload()は、それを実装するとページを更新します。 – hasan

答えて

1

私はAjaxに関するいくつかのチュートリアルを勉強することをお勧めします。

まず、Ajaxを実行すると、Webページやスクリプト(PHPで書かれた関数ではなく実際のURL)が呼び出されます。結果は、(HTML、XML、CSS、JSON、JPG)を取得し、コードで使用したり、DOMに挿入したり、文書を変更したりすることができます。

私の意見では、おそらく通常の呼び出しとして実装されるべきである全体的なアクション。 Genearaly、あなたが言語を変更した場合は、ページ全体を上端(タイトル)から最後の小文字まで閉じた体の前に翻訳する必要があります。

あなただけのウェブページの小さな部分を変更する必要がある場合は、 jQuery get

ページをURLを参照してください。あなたが望むものを、単にURLを変更し実行している例

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

を使用しています。私は少し助けてくれることを願っています。

+0

はい私はチュートリアルを勉強すべきだと思っていますが、残念ながら今は時間がありませんが、後でAngularを勉強します。第二:あなたはこの場合リロードページは重要ではないと言っていますか? – siros

+0

ページを再読み込みしても言語が変更されることはありません。言語は、http://srv.tld/page?lang = enやhttp://srv.tld/en/pageやhttp://en.srv.tld/pageのように何らかの形で定義する必要があります。要求された言語を解析してレスポンスを作成する必要があります –

+0

上記以外の場合、人々はセッションにその言語を入れる傾向がありますが、これは非常に悪いSEO戦略です。http://srv.tld/page –

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"; 
?> 

を、これはあなたが探しているものであることを望みます!

関連する問題