나는이 기능을 jQuery의 포스트 기능을 사용하여 asp.net으로 설정된 세션을 파괴하고 로그인 페이지로 리디렉션하는 내 로그 아웃 처리기에 아약스 요청을 보낸다.내 페이지가 오류가 발생하지 않더라도 리디렉션되지 않는 이유는 무엇입니까?
<script type="text/javascript">
//<![CDATA[
function doLogout() {
var conf = false;
conf = confirm("Really log out?");
if (conf === true) {
$.post("logout.ashx");
}
}
//]]>
</script>
지금까지 로그 아웃 링크 기능은 훌륭합니다 : 사용자가 그것을 클릭하면 확인 상자가 나타나고 예를 클릭하면 로그 아웃 핸들러가로드됩니다.
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
With context
If .Session IsNot Nothing Then
context.Session.Clear()
context.Session.Abandon()
End If
.Server.Transfer("default.aspx", False)
End With
End Sub
Response.Redirect
을 사용해도 아무런 차이가 없습니다.
나는 모든 것이 잘 작동하는지 추적함으로써 확인했다. 자바 스크립트 또는 asp.net 오류가 없습니다. 유일한 문제는 브라우저의 페이지가 변경되지 않는다는 것입니다.
어떤 아이디어?
그래서 window.location ([url])을 호출 하시겠습니까? – Anders
네, 로그 아웃 기능이 먼저 성공할 필요가 있다고 생각 하긴하지만, 그 라인을 따라 뭔가가 있습니다. Logout 페이지에 다시 게시하고 로그 아웃 한 후 리디렉션을 수행하는 것이 좋습니다. –