Есть страница update с нее с помощью send.Beacon при закрытии страницы или перехода на другой url отправляю post id, чтобы потом по этому id найти запись в БД и изменить в ней переменные.
Код скрипта:
function changeEdit(){
var id = '<?= $model->id?>';
var data = {id:id};
navigator.sendBeacon("report/edit",data);
};
window.addEventListener('unload', chandeEdit);
В контроллере создал экшн:
public function actionEdit() {
$id = Yii::$app->request->post('id');
$sql = 'UPDATE report SET edit_on = 1 WHERE id = '.$id;
$connection = \Yii::$app->db->createCommand($sql)->execute();
}
Глобальный $_POST почему-то пустой. Если передавать через ajax, то post есть, однако сервер не успевает обработать запрос.