리디렉션을 사용하지 않고 현재보기에있는 내용을 "지우려면"가능한 방법이 있습니까?codeigniter clear view 출력
내 사이트에서 ajax를 구현 중이며 표시된보기 만 포함 된 아약스 요청에 대한 응답을 반환하려는 경우 리디렉션을 사용해야한다는 사실을 알고 있습니다. 난 그냥 (이 경우 양식을) 원본 콘텐츠를 유지하고 단지 그 위에보기를 추가합니다
$this->load->view('blah');
를 사용하는 경우, 현명한 기타. URL을 동일하게 유지하려면 리디렉션을 사용하지 않는 것이 좋습니다. 리디렉션 또는 자바 스크립트없이 현재보기에서 현재 무엇을 지울 수 있습니까? 내 CodeIgniter를 들어
<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를 그냥 링크 및 양식은 "아약스-ED"이며, 기본적으로 표준 인증 탱크 코드 인 redirect('whereever'); or $this->load->view("blah");
되는 끝납니다. 따라서 javascript와 함께 작동하는 codeigniter는 뷰를로드하는 컨트롤러의 다른 함수로 리디렉션하거나 뷰를로드하는 것입니다. 특별한 것은 없다. 단지 리다이렉션 만 새로 추가 된 뷰를 보여주고 리다이렉트가없는 간단한로드 뷰는 이전 콘텐츠를 보여줍니다. 의견에 의한 제안을 바탕으로 아약스가 수행 된 후에 아픈 것 같아서 자바 스크립트를 통해 처리해야합니다.
리디렉션 만 현재보기 내용을 "지우고"원하는 내용 만 표시합니다. 일반적으로 업데이트 메시지 또는 간단한 html입니다. 그러나 리디렉션에는 다른 URL 변경이 필요합니다.
또한 몇 번의 클릭 후 내 "ajaxem"클래스 이벤트가 더 이상 트리거되지 않습니다. 그래서 내가 updateajaxem() 함수를 만들고 각 Ajax를 다시로드 한 후에 호출하지만 이것이 작동하지 않습니다. 내가 읽었으며, 대표자는 현재에만 작동하고 미래는 요소입니까?
예제 코드를 보여 주실 수 있습니까? 문제가 있다고 생각하지 않을 수도 있지만 ***이 ***을 처리하는 많은 방법이 있으므로 구체적인 예를 들어 설명하는 것이 좋습니다. –
수정 사항을 보았습니다. 죄송합니다. 컨트롤러 코드를 보여주십시오. 왜냐하면이 모든 비즈니스가 처리되기 때문입니다. '$ this-> input-> is_ajax_request()'에 대해 알고 있습니까? –
네,하지만 자바 스크립트를 사용하지 않고 이전 내용을 제거하려면 알고있는 한 리디렉션이 필요합니다. 리디렉션을 사용하지 않고도 에코와 뷰 모두를 반환하는 것은 작동하지 않습니다. –