Есть ли способ «очистить» то, что в настоящее время отображается, вместо того, чтобы использовать перенаправление?codeigniter clear view output
Я реализую ajax на своем сайте и заметил, что если я хочу вернуть ответ на запрос ajax только с просмотрами, которые я хочу показать, я должен использовать перенаправление. Другая мудрый, если я просто использовать
$this->load->view('blah');
он будет держать исходное содержание (в данном случае формы) и просто добавить вид сверху этого. Я бы предпочел не использовать перенаправление, поскольку я хотел бы сохранить URL-адрес таким же. Любой способ очистить whats в настоящее время в представлении без переадресации или javascript?
<script type="text/javascript">
function updateajaxem(){
$(document).on("click", "a.ajaxem", function(e){
e.preventDefault();
var action=$(this).attr('href');
//alert(action);
if(action.indexOf('register')>0){
$("div#logininfo").load("http://localhost/testrun/auth/register/").fadeIn();
}
else if(action.indexOf('password')>0)
{
$("div#logininfo").load("http://localhost/testrun/auth/forgot_password/").fadeIn();
}
}); //end
}
</script>
<script type="text/javascript">
updateajaxem();
//$("a.ajaxem").live("click", function(e){
$(document).on("click","input:submit",function(e){
e.preventDefault();
var formaction=$(this).closest('form').attr('action');
var dataString=$(this).closest('form').serialize();
alert(dataString);
//$("div#logininfo").load(formaction,data);
$.ajax({
type: "POST",
url: formaction,
data: dataString,
// dataType: "json",
success: function(data) {
alert(data);
$("div#logininfo").html(data);
updateajaxem();
}// end of success
});
});
</script>
Для моего CodeIgniter, в основном это заканчивается тем, что в redirect('whereever'); or $this->load->view("blah");
CodeIgniter в основном стандартный код аутентификации танка, только ссылка и форма «Аякс-й изд.» Таким образом, codeigniter, который работает с javascript, либо просто загружает представление, либо перенаправляет на другую функцию в контроллере, который загружает представление. ничего особенного. Просто, что только перенаправление покажет только недавно добавленное представление, в то время как простой просмотр нагрузки без перенаправления также покажет старый контент. Основываясь на предположении комментариев, похоже, что им приходится обращаться с ним через javascript после выполнения ajax.
, но только перенаправление «очистит» текущий контент и покажет только то, что я хочу, что обычно является сообщением об обновлении или простым html. Однако для перенаправления требуется другое изменение URL.
Кроме того, после нескольких кликов мои события класса «ajaxem» больше не запускаются? Вот почему я сделал функцию updateajaxem() и вызвал ее после каждой перезагрузки ajax, однако это не работает. Я читал, будут ли делегаты работать только для текущих и будущих элементов?
Не могли бы вы показать свой пример кода? Возможно, вы не думаете, что это важно, но есть *** так *** много способов справиться с этим, что было бы лучше показать вам, как в вашем конкретном примере. –
Видел свое редактирование. Извините, я имел в виду, пожалуйста, покажите код контроллера, потому что именно здесь обрабатывается весь этот бизнес. Вы знаете о '$ this-> input-> is_ajax_request()'? –
да, но для устранения предыдущего содержимого без использования javascript потребуется переадресация. без использования перенаправления, как эхо, так и возврат только вида не будут работать. –