[英]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.