AJAX при успешном возврате HTML-файлов вместо значения данных? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть этот простой AJAX код, чтобы получить User Timezone всякий раз, когда он успешно входит в панель управления.

JS

<script type="text/javascript">
$(document).ready(function(){
    'use strict';
    /**
     * Getting user current timezone offset
     */
    var timezone_offset = new Date().getTimezoneOffset();

    timezone_offset = timezone_offset == 0 ? 0 : -timezone_offset;
    $.ajax({
        type: "POST",
        url: "<?php echo base_url('dashboard'); ?>",
        data: {"timezone": timezone_offset},
        cache: false,
        success: function(data){
            alert(data);
        },
        error: function(){
            console.log('error');
        }
    });

});
</script>

Контроллер

public function index()
{
    $data = $this->global_data->logged_user();
    $data['page_title']     = 'Dashboard';
    $data['page_directory'] = 'pages/dashboard';
    $data['greeting']       = $this->global_helpers->greeting() . ' !';

    $chart_data = array();
    $order_history = $this->trade_history->chart_data();
    foreach($order_history AS $d)
    {
        $chart_data[] = array(
            'y' => $this->global_helpers->month_name($d->month) ."' ". $d->year,
            'a' => $d->profit,
            'b' => $d->loss
        );
    }

    echo $_POST['timezone'];

    $data['chart_data'] = json_encode($chart_data);
    $this->load->view('template', $data);
}

Но проблема в том, что когда он успешен, он возвращает заголовок HTML? не те данные, которые я хочу получить?

enter image description here

Что я здесь не так делаю? И я поместил этот AJAX код в footer.php файл. Извините за этот глупый вопрос, но я только что застрял здесь.

Я оценил любую помощь, спасибо!

Отредактировано

Извините за этот глупый пост, я не могу использовать этот способ, мне просто нужно создать еще один контроллер для обработки любого вида значения AJAX, поэтому проблема будет исправлена.

1 Ответ

0 голосов
/ 08 мая 2018

Ну, вы все равно не можете визуализировать HTML внутри предупреждения.

Я вижу, что вы решили эту проблему, но, к вашему сведению, если вам когда-нибудь понадобится контроллер для возврата HTML в качестве данных, используйтетретий параметр в методе просмотра:

echo $this->load->view('template', $data, TRUE);

Подробнее см. в документах Codeigniter :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...