2012-10-06 2 views
16

페이지에 대한 요청이 오래 걸리는 것을 보여줄 수있는 도구로 작업 중입니다.jQuery ajax 호출에서 응답 시간을 얻으려면 어떻게해야합니까?

jQuery Ajax (http://api.jquery.com/jQuery.ajax/)를 사용하여이 작업을 수행하고 있으며 응답 시간을 얻는 가장 좋은 방법을 찾고 싶습니다.

자바 스크립트에서 "날짜"사용에 대해 설명하는 스레드 (http://forum.jquery.com/topic/jquery-get-time-of-ajax-post)를 발견했지만이 방법은 실제로 신뢰할 수 있습니까?

내 코드의 예는 가장 간단한 방법은 Ajax 호출하기 전에 var ajaxTime= new Date().getTime();를 추가하는 것입니다

$.ajax({ 
    type: "POST", 
    url: "some.php", 
}).done(function() { 
    // Here I want to get the how long it took to load some.php and use it further 
}); 
+1

답변보기 : http://stackoverflow.com/a/3700307/889678 – mgraph

답변

32

미만이 될 및 done에 아약스 호출에 걸리는 시간을 계산하기 위해 현재 시간을 얻을 수 하다.

var ajaxTime= new Date().getTime(); 
$.ajax({ 
    type: "POST", 
    url: "some.php", 
}).done(function() { 
    var totalTime = new Date().getTime()-ajaxTime; 
    // Here I want to get the how long it took to load some.php and use it further 
}); 

또는 서버 측에서 얼마나 오랜 시간이 걸릴지 알고 싶다면. 동일하게하고 some.php의 리턴 값으로 시간을 출력하십시오.

+12

더 긴'new Date(). getTime()'대신'Date.now()'를 사용할 수 있습니다. 문자를 저장할뿐만 아니라'Date' 객체의 생성을 저장합니다. –

+1

@ DanielBöhmer 'Date.now()'와 관련하여 - 일부 구형 브라우저 (예 : IE8)에서는 사용할 수 없지만 polyfill이 필요할 수 있습니다. [MDN] (https://developer.mozilla.org/en/docs/Web)을 참조하십시오./JavaScript/Reference/Global_Objects/Date/now) –

+0

downvoting - 여러 요청에 대해 작동하지 않습니다 – Anonymous

관련 문제