В настоящее время моя команда и я работаем с Code Igniter 1.7.3, и мы не можем использовать воспламенитель кода 2.0 с нашим проектом.
Во всяком случае,
Я сделал несколько файлов php, в которых один из основных файлов использует JQuery для загрузки других файлов внутри определенного div в основном файле. Например, примерно так (они оба находятся в папке views в CI)
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="<?php echo base_url().''?>public/scripts/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#insert-activity").load("<?php echo base_url().''?>system/application/views/bio.php");
});
</script>
<title>Title</title>
</head>
<body>
<div id="insert-activity"></div>
</body>
</html>
Теперь он отлично загружается. Проблема в том, что контроллер загружает профиль
<?php
class UserProfile extends Controller {
function UserProfile()
{
parent::Controller();
}
function index()
{
$this->load->library('DX_Auth');
$this->load->helper('url');
$this->load->helper('form');
$this->load->model('userprofile_m');
$userID = $this->dx_auth->get_user_id();
$friend_ids = $this->userprofile_m->get_friends_ids($userID);
$data['interest'] = $this->userprofile_m->get_user_intersts($userID);
//$data['broadcasts'] = $this->userprofile_m->get_broadcasts($userID);
$data['friendID'] = $friend_ids;
//$data['friendsBroadcasts'] = $this->userprofile_m->get_friends_broadcasts($userID,$friend_ids);
$this->load->view('profile', $data);
} ?>
Проблема здесь в том, что я хочу, чтобы некоторые из полученных данных перешли в bio.php, потому что profile.php загрузит bio.php в div.
И каждый раз, когда я нажимаю на ссылку get bio, я хочу, чтобы она снова получала информацию и помещала ее в bio.php, пока JQuery загружает bio.php в profile.php
Вот био.php на всякий случай
<!-- PHP should insert the user's bio here -->
<div id="activity-header" class="background"> <!-- activity header start DO NOT MODIFY-->
<h1>Bio</h1>
</div> <!-- activity header end DO NOT MODIFY-->
<div id="activity-feed"> <!-- activity div for JQuery DO NOT STYLE THIS DIV-->
<div> <!-- name start -->
<div> <p <p class="special-p">Name:</p> <hr class="special-hr"> </div>
<p class="used-p">some guy</p>
</div> <!-- name end -->
<div> <!-- description start -->
<div> <p <p class="special-p">Description:</p> <hr> </div>
<p class="used-p">I don't like talking about myself... I'm emo .. for some reason</p>
</div> <!-- description end -->
<div> <!-- interests start -->
<div> <p class="special-p">Interests:</p> <hr class="special-hr2"> </div>
<p class="used-p">I am interested in:</p>
<ul>
<li>something</li>
<li>Food</li>
<li>Travel</li>
<li>Fishing</li>
<li>Pokemon</li>
<li>More Pokemon</li>
<li>POKEMOOONN!!!!</li>
</ul>
</div> <!-- interests start -->
</div> <!-- activity div for JQuery -->
Это код, который @kevtrout научил меня. Тем не менее, страница не загружается внутри div
это функция bio внутри контроллера userProfile
function bio(){
$this->load->library('DX_Auth');
$this->load->helper('url');
$this->load->helper('form');
$this->load->model('userprofile_m');
$userID = $this->dx_auth->get_user_id();
$friend_ids = $this->userprofile_m->get_friends_ids($userID);
$data['interest'] = $this->userprofile_m->get_user_intersts($userID);
//$data['broadcasts'] = $this->userprofile_m->get_broadcasts($userID);
$data['friendID'] = $friend_ids;
//$data['friendsBroadcasts'] = $this->userprofile_m->get_friends_broadcasts($userID,$friend_ids);
$bio_view = $this->load->view('bio',$data,true);
return $bio_view;
}
И это JQuery внутри view profile.php, который хочет загрузить view bio.php и отправить данные в .. Это сразу же делается после $ (document) .ready
$.post("<?php echo site_url('userProfile/bio');?>",{user_id: 777},function(){
$("#insert-activity").html(data);
},html);