【发布时间】:2017-08-13 23:16:02
【问题描述】:
我也运行了简单的 ajax 在同一页面中发布值,并将其保存到会话变量中,这工作正常,但每当我在控制台中打印这些会话变量时,它都不会显示最新值。
<script>
$(function(){
function showValues() {
jQuery.ajax({
type: "POST",
data: $( "form" ).serialize(),
success: function(data){
var x = <?php echo json_encode($_SESSION['q10']); ?>;
console.log(x);
}
});
}
$( "input[type='checkbox'], input[type='radio']" ).on( "click", showValues );
$( "select" ).on( "change", showValues );
showValues();
});
</script>
上面的脚本序列化来自收音机、复选框和选择输入的值,稍后我将它们保存在以下变量中
<?php
if(isset($_POST['q10']))
{
if($_POST['q10'] == 2){
$_SESSION['q10']=1;
}else{
$_SESSION['q10']=0;
}
}
最初我设置 $_SESSION['q10'] = 0 并且控制台显示此值,但每当我更改值时,它都会显示以前的值。没更新
P.s 刷新页面后我得到了更改的值。我不应该在控制台中获取更新的值吗
<nav class="segmented l3_seg">
<input type="radio" name="q10" value="1" id="10a">
<label for="10a">Richtig</label>
<input type="radio" name="q10" value="2" id="10b">
<label for="10b">Falsch</label>
</nav>
【问题讨论】:
-
Javascript 由浏览器(客户端)运行,而 php 在远程服务器上运行,因此您不能只从 js 运行 php 代码。
标签: javascript php jquery ajax session