0
如何讓一個會話刷新另一個會話?假設我們有一部智能手機,一臺服務器和一臺筆記本電腦。筆記本電腦有一個與服務器的當前會話,然後智能手機將HTTP POST發送到服務器,現在我們希望此事件觸發筆記本電腦會話中的刷新。Symfony 2.0會話間通信
如何讓一個會話刷新另一個會話?假設我們有一部智能手機,一臺服務器和一臺筆記本電腦。筆記本電腦有一個與服務器的當前會話,然後智能手機將HTTP POST發送到服務器,現在我們希望此事件觸發筆記本電腦會話中的刷新。Symfony 2.0會話間通信
你的問題不是很清楚你的問題的具體情況,但假設你記錄爲用戶X(並且你的用戶實體有一個字段在每個更新上獲取時間戳,例如:updated_at)都在手機和筆記本電腦上
class SomeController extends Controller {
//...
/**
* checks if entity was updated since
*
* @Route("/check/{id}/{tstamp}", name="entity_check")
* @Template()
*/
public function checkAction($id, $tstamp) {
//check if anything updated by comparing entity's updated_at against $tstamp
//...
//as the user locale may differ from server's, send back the timestamp too
$data['last_update'] = time();
return new Response(json_encode($data));
}
}
的樹枝文件以及JavaScript:
<script>
var last_check = {{ "now"|date("t") }};
setInterval(function() {
$.ajax("{{ url('route_to_your_check_action', {'id': entity.id, 'last_check':''}) }}/" + last_check)
.done(function(data) {
var info = $.parseJSON(data);
last_check = info.last_update;
//if anything changed refresh on user side
})
.fail(function() { //on error do something if needed
});
}
, 12000); // make this call every 12 seconds
</script>
希望,手機改變用戶的地址,例如,可以通過具有類似於一個動作得到了使用AJAX您的筆記本電腦,事件它有助於。