У меня была очень похожая, если не идентичная проблема на моем собственном сайте. Я пытался извлечь содержимое div из страниц (представлений), сгенерированных codeigniter, но AJAX просто отказывал, и firebug не давал мне никаких подсказок, кроме того, что ничего не возвращалось, даже ошибка 404 .
Ответ iainco спас меня, но для того, чтобы он заработал, вы должны установить переменные, возвращаемые codeigniter, и вывести их вручную.
Вот основные принципы работы ajax в обеих платформах.
JQuery:
//setting up a global variable to make the code easier to recycle
AX = {
toLoad:'',
contentWrapper:'#content',
contentDiv:'#ajax-target'
};
//this is called on a click event I added to a DOM element that contains a link
function ajaxInit(){
AX.toLoad = $(this).find('a').attr('href') + ' ' + AX.contentDiv;
$(AX.contentWrapper).load(AX.toLoad,"");
}
и затем соответствующий контроллер codeigniter или представление, предполагая, что $ content содержит имя представления, которое вы пытаетесь загрузить:
<div id='content'>
<div id='ajax-target'>
<?php
//setting the third variable to true tells ci to return a data string that can be read using AJAX methods
$content_var = $this->load->view("$content",'',TRUE);
echo $content;
?>
</div>
</div>
ПРИМЕЧАНИЕ: у меня это работало на сайте без дополнительного шага ci, но теперь я уверен, что это из-за какой-то (полезной) ошибки, потому что я не мог воспроизвести ее в моем следующем проекте.