这篇文章与我之前发布的帖子有关但现在问题不同了: https://stackoverflow.com/questions/5671809/selection-on-change-set-session-not-working/5671816#5671816
当我在AJAX中选择select字段时,会话设置并刷新页面以显示会话内的值。我怎么能没有刷新它有这样的句柄
$("#output").something
通过向ajax.php?action=checksessionShipping
发送ajax请求来检查每秒,并且如果会话已设置,则ajax文件将返回true,如果未设置则返回false。所以一旦它检测到会话已设置(顺便说一下,会话将在其他堆栈页面上$_SESSION['shipping']
。)它将值返回到div。
答案 0 :(得分:0)
请记住,这是快速而肮脏的代码。它不应该在生产中使用,因为它不是非常安全或可扩展。但是,它会让你开始:
您可以在HTML中执行以下操作:
<div id="mydiv">
</div><!-- END: #mydiv -->
<script type="text/javascript" charset="utf-8">
var myInterval = setInterval(function() {
$.ajax({
url: 'ajax.php?action=checksessionShipping',
type: 'POST',
dataType: 'json',
data: {},
complete: function(xhr, textStatus) {
//called when complete
},
success: function(data, textStatus, xhr) {
if (data.session_set == true)
$("#mydiv").html(data.shipping);
clearInterval(myInterval);
},
error: function(xhr, textStatus, errorThrown) {
//called when there is an error
}
});
}, 1000);
</script>
在你的PHP中有类似的东西:
<?php
session_start()
$arrReturn = array('session_set' => FALSE);
if (!empty($_SESSION['shipping'])) {
$arrReturn['session_set'] = TRUE;
$arrReturn['shipping'] = $_SESSION['shipping'];
}
echo json_encode($arrReturn);
?>