[英]jQuery and ajax to set session variable in PHP
我在PHP中使用會話變量來管理多語言站點中的當前語言。 為了實現我想要的,我使用了一個標記圖標,當點擊它(jQuery)時,它告訴lang_json.php將會話變量切換為新語言。
我沒有在jQuery方面遇到錯誤:
var sendData = 'en';
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "lang_json.php",
data: ({newLang: sendData}),
dataType: "json",
success: function (msg) {
alert('Success');
},
error: function (err){
alert('Error');
}
});
但是PHP文件沒有設置會話變量:
lang_json.php:
<?php
// Session variables
session_name('aklogin'); // Starting the session
session_start();
if( isset($_POST['newLang']) ){
$_SESSION['current_lan'] = $_POST['newLang'];
}else{
$_SESSION['current_lan'] = "Not Posting";
}
?>
會話變量返回“Not Posting”。
您聲稱要發送服務器JSON,但是:
刪除contentType: "application/json; charset=utf-8",
,然后jQuery將設置正確的內容類型,PHP將填充$_POST
。
我一直在玩jQuery方面,這是有效的:
var sendData = 'en';
$.ajax({
type: 'POST',
url: 'app/pro/pro_lang_session_json.php',
data: {'newLang': sendData},
success: function (msg) {
alert(sendData);
},
error: function (err){
alert('Error');
}
});
會話變量使用此代碼設置為“en”。
謝謝您的幫助! @DelightedDOD
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.