Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не выводится на экран view codeigniter 
:(
    Опции темы
leopoldishe
Дата 7.7.2011, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.7.2011

Репутация: нет
Всего: нет



Здравствуйте, подскажите пожалуйста, почему не работает код и как это исправить.
Использую codeigniter 2.0 + jquery. С помощью jquery собираю id нужных мне записей из таблицы и передаю их в функцию codeigniter`a, а затем обработав информацию пытаюсь вывести ее во view фреймворка.

Это код JS функции.

Код

function print_job_order()
{
    var checked_job_orders_ex = $("[id^='joborder_']:checked").map(function() { return $(this).attr("value");}).get();
    var checked_job_orders_tr = $("[id^='jobordertr_']:checked").map(function() { return $(this).attr("value");}).get();
    // собрал данные затем передаю из post`ом в функцию codeigniter`a
    $.post("/office/print_joborders", {id_job_ex: checked_job_orders_ex, id_job_tr: checked_job_orders_tr},
     function(data){
        alert(data);
     }, "json");
}


Данные приходят нормально и обрабатываются. Ниже код функции ФВ.

Код

function print_joborders()
        {
            $id_job_ex = $this->input->post('id_job_ex');
            $id_job_tr = $this->input->post('id_job_tr');

            $ss='';
            for ($i=0; $i<count($id_job_ex); $i++)
            {
                $ss.= $this->job_order_ex($id_job_ex[$i]);
            }

            $data['job_orders']=$ss;
            $this->load->view("office/job_order_print_view",$data);
            
            echo json_encode($data['job_orders']);
        }

Происходит ошибка, которую выдает jquery: ошибка в функции office/print_joborders()
причем, если убрать строку $this->load->view("office/job_order_print_view",$data); -  то алерт в первой функции выводит нужную и сформированную строку.
При условии, что напрямую запущенная функция print_joborders() с вручную введенными данными прекрасно отрабатывает.
Проблема в том, что если отключить вывод view, то все прекрасно отрабатывает.
А мне нужно чтобы просто вывелся в соседней вкладке view с моими данными.
Спасибо.
PM MAIL   Вверх
Guedda
Дата 7.7.2011, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Попробуй убрать в посте "json" и в пхп json_encode. 


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
leopoldishe
Дата 7.7.2011, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.7.2011

Репутация: нет
Всего: нет



Цитата(Guedda @ 7.7.2011,  14:12)
Попробуй убрать в посте "json" и в пхп json_encode.

Да я пробовал, тогда ошибки не происходит, но и вид не отображается. Может быть нужно указать каким-либо образом чтобы он вывелся в новой вкладке?

Если открывать по ссылке вроде этой, то при условии статичных данных все открывается.
<a href="office/job_order_print_view" target ="_blank" > ... </a>

а из фрэймворка не знаю как это сделать.
Спасибо.
PM MAIL   Вверх
Guedda
Дата 7.7.2011, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 13
Всего: 78



Код

$this->load->view("office/job_order_print_view",$data);

у тебя есть равносильное echo - а оно без json_encode. Поэтому и не плучается у тебя ничего. Подумай, как можно передать и вид и переменную, которую ты выдаешь, с помощью json_encode (как вариант, запихнуть в новый массив и вьюшку и переменную, которую передаешь, а этот массив уже джейсонэнкодингом)


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
leopoldishe
Дата 7.7.2011, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.7.2011

Репутация: нет
Всего: нет



Спасибо, за ответы, но мне не нужно передавать переменную назад в js, я ее передавал, только чтобы проверить, правильно ли обрабатываются данные (алерт в js тоже не нужен). Моя основная задача вывести представление на экран, желательно в новую вкладку. 
Сейчас после вывода строки 
Код

$this->load->view("office/job_order_print_view",$data);

ничего не происходит, экран промигивает и все, а хочется, чтобы открылась новая вкладка со сформированным представлением.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0557 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.