我想在用户点击按钮时设置PHP会话而不重新加载页面。理想情况下,按钮单击会立即隐藏名为download_div的div,并将会话“close_download”设置为true。
我知道JS是用户端,PHP是服务器端,但我想知道是否有办法融合这两个世界。有任何想法吗?谢谢!
<html>
<head>
<script>
function closeDownload()
{
$('.download_div').hide()
}
<?php
session_start();
$_SESSION['close_download'] = "true";
?>
</script>
</head>
<body>
<a href="close_download.php" data-role="button" onClick="closeDownload()">Close</a>
</body>
</html>
答案 0 :(得分:2)
session.php
<?php
session_start();
$_SESSION['close_download'] = "true";
?>
download.html
<html>
<head>
<script>
function closeDownload()
{
$('.download_div').hide()
$.get("session.php")
}
</script>
</head>
<body>
<a href="close_download.php" data-role="button" onClick="closeDownload()">Close</a>
</body>
</html>
答案 1 :(得分:1)
你必须使用ajax,在jquery上读取文件ajax调用,是最快的方法。
基本上你必须有另一个php文件:
session_start();
$_SESSION['close_download'] = "true";
然后在你的html / js中你会做类似$ .get('newfile.php')的事情;
你不能把php放在你的javascript中,但是使用ajax你可以像你说的那样“混合”它们
答案 2 :(得分:1)
融合这两个世界的方法是 - AJAX。
$.ajax({
url: "session.php",
data: {'name': 'test_session', 'value': 'foobar'}
}).done(function() {
$('#notification').html('Done!');
});
session.php文件 -
<?php
session_start();
$name = $_POST['name'];
$value = $_POST['value'];
$_SESSION[$name] = $value;
?>