2011-04-05 6 views
0

우리는 JavaScript를 통해 X 분 후에 로그인 페이지로 리디렉션되는 타이머 프로세스 (JQuery 플러그인)를 가지고 있습니다. 타이머가 0에 도달하면 작업을 실행하고 싶습니다 (아무 것도 될 수 있지만이 특정 시나리오에서는 웹 서비스 호출입니다).리디렉션 전 작업 실행

그래서 과정을 수행합니다

if (zeroedOut) { 
    window.setTimeout(function() { 
    //Run finish-up processes 
    }, 0); 

    window.location = "login.aspx"; 
} 

나는 데 문제가 호출되지 않는 마무리 업 프로세스로 실행되는 웹 서비스입니다. 웹 서비스 호출이 발생하고 리다이렉트가 발생하지만 setTimeout 호출과 관련된 모든 오류가 표시되지 않지만 WS 호출은 발생하지 않습니다.

아무도 성공적으로이 작업을 수행 했습니까? 여기서 내가 무엇을 놓칠까요?

감사합니다.

+0

실제로 다시 읽으십시오. 저는 약간 혼란 스럽습니다. 웹 서비스를 어떻게 호출하고 있습니까? (실행 중일 때) 주석 영역에 있습니까? – jball

+0

예, // 마무리 프로세스를 실행하면 ws 호출이 추상 형식으로 발생합니다. –

+0

실제 웹 서비스 호출에 문제가 있다고 생각됩니다. 해당 코드와 그것이 호출하는 .net 프레임 워크 웹 서비스 메서드 서명을 게시 할 수 있다면 문제를 해결하는 데 도움을 줄 수 있습니다. – jball

답변

1

setTimeout 통화에서 리디렉션되지 않는 이유는 무엇입니까? 그렇지 않으면 리디렉션은 대기중인 코드가 실행되기 전에 발생합니다.

if (zeroedOut) { 
    window.setTimeout(function() { 
    //Run finish-up processes 
    window.location = "login.aspx"; 
    }, 0); 
} 
+0

OK, 나는 작업을 변경했는데, 작업이 로그인 리다이렉션을 막을 까봐 두려웠 기 때문에 그렇게 했어.하지만 마무리 작업을 비동기로 만들어야한다는 것은 의미가있다.하지만 나는 그렇게했다. 왜 WS 전화를받지 못하고 ... 나는 왜 그런지 알고 있지만, 여전히 무엇을해야할지 모른다고 생각한다. –