@Thekorolev

Почему не передаются данные в json?

Здравствуйте! Передаю данные о разрешении экрана пользователя в контроллер header с помощью json.
<script type="text/javascript">
$(function() {
    $.post('index.php?route=common/header', { width: screen.width, height: screen.height}, function(json) { 
        if(json.outcome == 'success') { 
            alert('success!');
        } else {
            alert('Unable to let PHP know what the screen resolution is!');
        }
    },'json');
});
</script>


В самом контроллере, внутри функции index() находится такой код, который почему-то не работает:
if(isset($this->request->post['width']) && isset($this->request->post['height'])) {
    $this->session->data['screen_width'] = $this->request->post['width'];
	$this->session->data['screen_height'] = $this->request->post['height'];
    echo json_encode(array('outcome'=>'success'));
} else {
    echo json_encode(array('outcome'=>'error','error'=>"Couldn't save dimension info"));
}

Т.е. ширина и высота остается не переданной и всегда отдается Couldn't save dimension info
CMS Opencart 1.5.5.1
ЧЯДНТ?
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 2
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Вы передаете только width
{ width: screen.width}

А проверяете на наличие width и height в запросе
if(isset($this->request->post['width']) && isset($this->request->post['height']))
Ответ написан
@Silm
Дампните $_POST в самом верху Index(). Тут же не экстрасенсы...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы