2014-10-08 7 views
0

페이지의 주요 내용을로드하는 데 아약스를 사용하는 웹 앱이 있습니다. 아약스와 탐색을 처리하는 jquery 주소를 사용하고 있습니다. 모달과 성공적인 제출에 나타나는 양식이 있습니다. 사용자를 새 페이지로 리디렉션하고 싶습니다. 모달 완전히 페이지 리디렉션은 블랙과 액세스 할 수 일으키는 일이 발생 숨겨져 전에부트 스트랩 모달 및 Jquery 주소 아약스 리디렉션 타이밍 문제

//called when form is submitted 
$('#modal-form').on('submit', 'form', function (e) { 
    e.preventDefault(); 
    var url = $(this).attr('action'); 
    var data = $(this).serialize(); 
    var method = $(this).attr('method'); 
    $.ajax({ 
     url: url, 
     data: data, 
     dataType: 'html', 
     method: method 
    }).fail(function (xhr, status, err) { 
     // Check for 401 unauthorized 
     if (xhr.status === 401) window.location = '/auth/login/'; 
    }).done(function (data, status, xhr) { 

     $('#modal-form').modal('hide'); //Hide the modal 
     redirect(xhr); //Redirect to a new page 
    }); 
}); 

이제 문제가 : 여기에 코드입니다. 리디렉션 호출을 완전한 함수로 옮겨 보았지만 작동하지 않는 것 같습니다. 다른 정보가 필요하면 알려주십시오. 모달이 완료된 후

+0

가능한 중복 : http://stackoverflow.com/questions/19676392/call-back-function-in-modal- of-bootstrap3 –

답변

1

당신은 리디렉션 실행 모달 콜백을 사용해야합니다 :

$('#modal-form').on('hidden.bs.modal', function (e) { 
    redirect(xhr); 
}); 
+1

아마도 '$ ('# 모달 양식 '). 모달 ('숨기기 '). ('hide.bs.modal ', function (e) {...})'또는 다른 방향일까요? –

+0

이 방법을 시도했지만 작동하지 않는 것처럼 보입니다. 모달이 완전히 닫히기 전에 리디렉션이 호출되어 화면에 액세스 할 수 없게됩니다. –

+0

나는 워드 프로세서에 대한 내용을 잘못 읽고있다. 숨김 효과가 발생한 후에 숨겨져 야한다. –