簡體   English   中英

select 選項 XMLHttpRequest 用於語言選擇

[英]select option by XMLHttpRequest for language selection

請幫我解決這個想法:我想要 select 語言並在選擇后刷新頁面,它應該更改當前頁面的語言。 我的目標:從下拉列表中選擇后,我通過 document.getElementById('language'); 獲取值 and want to send this value to next page, named ajax_lang.php and set in that page the SESSION and after that want to get the Session to refresh the page with Session laguage.

我已經復制了我嘗試過的代碼。但是失敗了。 請幫我解決。 提前致謝。 part 1.php code for session start: part 2: javascript part 3. html code part 4: ajax_lang.php

if(!isset($_SESSION)) 
     { 
         session_start();
                 
     }?>





<div style="margin-top:39px;background: #e9e9e9;margin-left:158px">
                        <select style="width: 40px;height: 40px;border-radius: 50%;width: 40px;
                                border: none;position: absolute;margin-top: 0px;" 
                                name="language" id="language" onchange="loadDoc(this.value)">
                              <option value=""><?php echo $_SESSION['lang'];?></option>
                              <option value="ru">RU</option>
                              <option value="en">EN</option>
                              
                        </select> 
                  </div>



<script>function loadDoc() {
      const xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
          document.getElementById("language").innerHTML =
          this.responseText;
        }
      };
      //xhttp.open("POST", "ajax_lang.php");
      xhttp.open("POST", "ajax_lang.php");
         var select = document.getElementById('language');
         var lang = select.options[select.selectedIndex].value;
         console.log(lang); // en

       xhttp.send({lang:lang});
    }
    //loadDoc();
    </script>



<?php 
if(!isset($_SESSION['lang'])){
session_start();
$_SESSION['lang']=$_POST['lang'];
}


?> ```

XMLHttpRequest.send不采用普通的 object 作為參數,它采用字符串或URLSearchParams object。 請參閱下面的URLSearchParams示例。

xhttp.send(new URLSearchParams({lang:lang}));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM