2008-10-10 5 views
2

ajax 요청을 통해 사용자의 로그인 상태를 확인하고 싶습니다. 사용자가 로그인 한 상태에 따라 사용자 이름/비밀번호 입력 또는 사용자 이름을 표시하려고합니다. 현재 body.onload에서 요청이 전송되고 응답이 도착할 때까지 prgoress 표시기가 표시됩니다. 더 좋은 방법이 있습니까?페이지가로드되기 전에 Ajax 요청을 제출하는 방법


직접 서버 측 처리가 필요 없다고 가정합니다.

+0

서버 측 처리가없는 경우 어떻게 로그인을 확인합니까? – Neall

답변

2

원하지 않는 경우 툴킷에 따라, 당신은 다음과 같이 좀 보이는 자신의 DOMReady 기능을 만들 수 있습니다

 
/* Usage: DOMReady(ajaxFunc); */ 
function DOMReady(f) { 
    if (!document.all) { 
     document.addEventListener("DOMContentLoaded", f, false); 
    } else { 
     if (document.readystate == 'complete') { 
      window.setTimeout(f, 0); 
     } 
     else { 
      //Add event to onload just if all else fails 
      attachEvent(window, "load", f); 
     } 
    } 
} 

또는 더 복잡한 솔루션을

: http://snipplr.com/view/6029/domreadyjs/

1

사용자가 HTML을 제공 받기 전에 확인하지 않는 이유는 무엇입니까?

방금 ​​/ 자바 스크립트 승 정적 HTML을 실행하는 경우, 나는 (문서) .ready() JQuery을 사용하고 $를 사용하는 것이 좋습니다 것입니다 :

6

이 먼저 서버에서 수행해야하는 조작 같은 소리를 , 페이지가 렌더링되기 전에. 다른 사람이 자바 스크립트를 사용하지 않는 경우 어떻게됩니까?

+0

그것은 할 수 있습니다, 그것의 조금 다른 표준이되었습니다. 자바 스크립트가 활성화되어 있지 않으면 데이터가로드되지 않으므로 아무것도 표시되지 않습니다. 하지만 그래, 당신은 이런 접근 방식에 매우 조심해야한다. –

+0

보안/로그인과 관련된 것이 자바 스크립트로 처리되면, 항상 내 머리 속에서 빨간 깃발이 사라진다. – swilliams

+0

+1 페이지가 처음 렌더링되는 방식을 초래하는 보안 검사는 코드 숨김에서 가장 잘 수행됩니다. – Kon

0

이것이 가능해야한다고 생각하지만 권장하지 않습니다. 올바른 작업을 수행하기 전에 서버가 페이지 내용을 완전히 결정해야합니다.

느린 이미지 다운로드 또는 기타 HTML이 아닌 콘텐츠로 인해 어려움에 처한 경우 다양한 JavaScript 라이브러리 중 하나를 확인하십시오. 난 당신이 인라인 자바 스크립트를 사용하는 경우, 그것은 즉시가 발생한 것으로 실행해야한다고 생각

$(document).ready(function() { 
    // The DOM is fully loaded now, but images might still be loading. 
}); 
0

: 나는 항상 다음과 같은 구문이 jQuery을 추천

<HTML><HEAD>...</HEAD> 
<BODY> 
<script> 
document.write("This is written before anything else"); 
</script> 
This come later. 
</BODY> 
</HTML> 
관련 문제