用ajax传值给后台,然后在后台将传过来的值放入session中,再在前端使用session的值,但只有第一次提交的时候session有用,后面不管提交多少次session存储的值都只是第一次的值,怎么使session存储的值随着提交而改变?
前端界面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./js/jquery-3.6.0.js"></script>
</head>
<body>
<select name="sreachmsg" id="sreachmsg">
<option value="1">第一件事吧</option>
<option value="2">第二件事吧</option>
<option value="3">第三件事吧</option>
<option value="4">第四件事吧</option>
<option value="5">第五件事吧</option>
</select>
<button id="sreach">搜索</button>
<div id="sessionvar">
<?php
session_start();
$rel = $_SESSION['rel'];
echo $rel;
?>
</div>
<script>
$(document).ready(function(){
$("#sreach").click(function(){
var param = $("#sreachmsg").val();
$.ajax({
url: './ajax.php',
data: {param:param},
type: 'POST',
dataType: 'json',
success: function(e){
console.log(e);
}
});
});
});
</script>
</body>
</html>
后台界面
<?php
$x=$_POST['param'];
header('Content-Type:application/json');
session_start();
$_SESSION['rel'] = $x;
$raw_date = array('code' => '1','msg' => $_SESSION['rel']);
$res_date = json_encode($raw_date);
echo $res_date;
?>
后台的值确实在变化,传到前端ajax中的值也在变化,但前端中php的session['rel']却没有变化,这个怎么弄