2015-07-20 6 views
0

Когда я отправляю данные из другой формы, и когда я тестирую ее в печати ($ id), она работает, но когда я передаю ее в виде, когда представление загружается, оно возвращается как ноль.Codeigniter возвращает представление с нулевой переменной

Вот мой код:

Jquery пост

function viewAccount(orId) 
{ 
    account_id=orId; 

    // alert(account_id); 

    var postData={ 
     "id":account_id 
    }; 

    $.post(base_url+"admin/viewAccount", postData).done(function(data){ 
     inlcudeViews('admin/viewAccount'); 
    }); 
} 

Контроллер:

function viewAccount() 
{ 
    $id = $this->input->post('id'); 

    $data = array('id' => $id); 

    // print_r($data); IT WORKS TILL HERE 
    $this->load->view('admin/viewAccount', $data); 

} 

Вид:

// HERE IS WHERE I GET A NULL VARIABLE 
var data='<?= $id ?>'; 
$(document).ready(function() { 
    alert(data); 
}); 

ответ

2

Вместо использования alert в viewAccount просмотра вам просто нужно print или echo ваш $id как,

<?php 
    echo isset($id) ? $id : ''; 
?> 

Кроме того, убедитесь, у вас есть уже позволяют PHP короткие теги в php.ini. Если ваш используете <?= $id ?>

0

Вы не эхо $ ID в вашем JavaScript это должно быть как echo $id:

Update здесь:

// HERE IS WHERE I GET A NULL VARIABLE 
var data='<?php echo $id; ?>'; 
    $(document).ready(function() { 
     alert(data); 
    }); 
+0

его не правильно использовать ' '. Используйте только ' ' –

+0

Я добавил этот код раньше и не обновлял его –

+0

да нет необходимости писать эхо, когда мы пишем« , а $ data ['id'] неверно использовать. –

2

Ваш Jquery и View идеально. Но в контроллере вы должны написать

$this->load->view('admin/viewAccount', $data[0]); 

вместо

$this->load->view('admin/viewAccount', $data); 

или вы можете написать

function viewAccount() 
{ 
    $id = $this->input->post('id'); 
    $data['id'] =$id; 
    // print_r($data); IT WORKS TILL HERE 
    $this->load->view('admin/viewAccount', $data); 
} 
+1

Отредактировано просто скопируйте мой код, это очень плохо !!! – Saty

+0

Я уже пробовал оба метода присвоения значения массиву, они оба одинаковы и не работали.как-то это не работает, как это, mby его проблема, потому что я включаю представление вместо обновления и перехода к этому виду :) спасибо – user3334406

+0

@saty Эй, извините ... :(Но я не знал, что вы ответили на то же самое –

0

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

+0

см. мой отредактированный ответ, если он полезен, тогда примите ответ. –

1

Вам необходимо передать свой id в data array как ниже

Контроллер

$id = $this->input->post('id'); 
$data['id']=$id; 
//print_r($data); IT WORKS TILL HERE 
$this->load->view('admin/viewAccount', $data); 
+0

Я сделал свой firend, передавая переменную в массиве то же самое, мой метод или ваш :) – user3334406

+0

okk, используя мой код, у вас есть идентификатор во взглядах – Saty

+0

Нет я не смог получить идентификатор, он приходит как null:/ – user3334406

 Смежные вопросы

  • Нет связанных вопросов^_^