簡體   English   中英

執行ajax發布請求后如何重新加載網頁?

[英]How to reload webpage AFTER executing an ajax post request?

我目前正在為我的個人網站實現多語言支持(我也在完全重建 atm),我需要在 AJAX 發布請求后重新加載頁面。 我在會話中保存首選語言,當更改它時,它當然會更新,我需要重新加載頁面以顯示正確的翻譯。 問題在於,使用方法時,有時會在更改會話中的首選語言之前重新加載頁面,這當然會導致 AJAX 發布請求不被執行。

Javascript:

function setLang(lang) {
    $.post("languages/setLang.php", {"preflang":lang});
    location.reload();
}

PHP:

<?php
    session_start();
    $_SESSION['PREFERRED_LANGUAGE'] = $_POST['preflang'];
?>

如何使用 $.ajax 發送 ajax

JS:

function setLang(lang) {
$.ajax({
          url:"languages/setLang.php",
          type:'POST',
          data:{"preflang":lang},
          dataType:'text',

          success:function(response){
            if(response=='true'){
              location.reload();
            }
          }
        });
}

PHP

    <?php
    session_start();
    $_SESSION['PREFERRED_LANGUAGE'] = $_POST['preflang'];
    echo 'true';
    ?>

這樣,只有當 ajax 調用在從服務器執行代碼后返回響應並且您可以重新加載頁面時,成功函數才會運行。

暫無
暫無

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

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