我正在尝试在同一页面上获取php会话中的每个jquery计数值,但我失败了,请指导我该怎么做。
这是我的代码
<script type="text/javascript" src="jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var counter = (function() {
var count = 0;
return function() {
count++;
return count;
};
})();
$('#button').click(function() {
$('#counter').text(counter());
Counter=$("#counter").val();
});
});
</script>
<input type="button" id="button" value="Click me!" />
<div id="counter">0</div>
<?php
echo $_SESSION['Counter'];
?>
提前致谢
答案 0 :(得分:2)
您需要为此进行AJAX调用。考虑这个例子:
首先绑定按钮进行ajax调用,每次单击,请求服务器开始增量。
<input type="button" id="button" value="Click me!" />
<div id="counter"><?php echo (isset($_SESSION['counter'])) ? $_SESSION['counter'] : 0; ?></div>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#button').on('click', function(){
$.ajax({
url: 'index.php',
data: {counter: true},
type: 'POST',
dataType: 'JSON',
success: function(response) {
$('#counter').text(response);
}
});
});
});
</script>
然后服务器将计数器设置为会话。
<?php
// initial setting
if(!isset($_SESSION['counter'])) {
$_SESSION['counter'] = 0;
}
// for every click increment the counter
if(isset($_POST['counter'])) {
$_SESSION['counter']++;
echo json_encode($_SESSION['counter']);
exit;
}
?>
答案 1 :(得分:1)
您无法直接将JavaScript变量分配给php,因为PHP is server side scripting lagauge和JavaScript client side。您必须使用Ajax向计算机发送计数器并将其保存到会话中,作为响应,您将获得存储的会话值。