【发布时间】:2015-07-21 17:41:42
【问题描述】:
这是我的场景:
-我正在处理一个大约需要 10 分钟的 excel 文件
-在处理时,我想向用户发送我们当前正在处理的反馈
我的想法是使用 Session 在处理时赋予价值,并在当前视图中使用 javascript 获取该 Session
这是我的脚本:
<script type="text/javascript">
$(document).ready(function() {
var element = document.getElementById("progress");
setInterval(
function(){
element.innerHTML = "{{Session::get('progress')}}";
},500
);
});
</script>
在我的控制器的某个地方,让我们这样说:
$i = 0;
while(!$done){
processingComplicated();
Session::put('progress', $i);
Session::save();
}
我的基本观点:
<div id="progress">0</div>
基本上,我希望当前页面获取会话数据并更新视图(id="progress"),但它不会改变。
可以做到吗?谢谢。
【问题讨论】:
-
它不能按照你想要的方式完成——你需要重新加载页面才能真正获得新的会话数据。很多人使用 iframe 或使用 AJAX 来执行此操作 - 要点是您需要实际加载 PHP 文件以获取更新的值,您不能只是将 session var 放在页面中的某个地方并期望它神奇更新而不更新页面。
标签: javascript php session laravel