2012-12-10 2 views
3

안녕하세요. 웹 사이트의 응답 시간을 확인하고 싶습니다. 여기에 내 코드가 있는데, 나는 가치가 있지만 현실을 보여주지는 않는다. 이 코드의 문제점은 무엇입니까? 그것은 sth 캐시와 관련이 있습니까 ?? 또한 페이지가 종료되지 않았거나 사용할 수 없는지를 표시하는 방법.아약스가있는 웹 사이트의 응답 시간을 확인하십시오.

<script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript"> 
var start = new Date(); 
$.ajax ({ 
url: 'http://www.example.com', 
complete : function() 
{ 
    alert(new Date() - start) 
}, 
     }); 
</script> 
+1

* "페이지가 종료되지 않았거나 사용할 수없는 경우를 보여주는 방법"* 질문 당 * * 질문 * –

답변

5

코드 자체는 코드가 확인되는 사람 같은 원점에서 실행된다고 가정 미세이고; 양쪽 (클라이언트 및 서버)이 CORS을 지원하고 사용하지 않는 한 can't use ajax cross-origin입니다.

캐시 할 수 있습니다. 브라우저 도구 (알맞은 브라우저에는 개발자 도구에서 Network 탭 또는 유사한 브라우저가 있음)를 참조해야합니다. ajax 호출에서 cache: false을 설정하여 캐싱을 사용 중지 할 수도 있습니다 (자세한 내용은 ajax documentation 참조). 다소 복잡한 방법 일 수 있습니다. 더 좋은 방법은이 타이밍에 사용하는 URL이 브라우저 (및 프록시)에 캐시하지 않도록 지시하는 캐시 헤더로 응답하는지 확인하는 것입니다.

페이지가 존재하거나 당신주는 error 기능을 후킹 정보보고 (그것이 의미하는 무엇이든) '를 사용할 수 없습니다 "입니다하지 않는 경우 당신은 말할 수 : error에게 주어진

var start = new Date(); 
$.ajax ({ 
    url: 'http://www.example.com', 
    error : function(jqxhr, status, ex) { 
     // Look at status here 
    }, 
    complete : function() 
    { 
     alert(new Date() - start) 
    }, 
}); 

인수를 또한 위에 링크 된 문서에 설명되어 있습니다.

+0

답변 해 주셔서 감사합니다. 유일한 문제는 페이지가 존재하지 않아도 응답 시간을 얻는 것입니다. 페이지가 존재하지 않는지 표시하는 방법. 고마워요 ... – user1874941

+0

@ user1874941 : 다행히 도왔습니다. * "유일한 문제는 페이지가 존재하지 않아도 응답 시간이 있습니다."* [문서] (http://api.jquery.com/jQuery.ajax/)를 참조하면 완료가 성공인지 실패인지에 관계없이 요청이 완료되면'complete'가 호출되는 것을 볼 수 있습니다. 성공적인 결과만을보고 싶다면 '성공'을 대신 사용하십시오. 페이지가 존재하지 않으면'error' 콜백을 얻을 수 있지만'success' 콜백은 없습니다 ('complete'는 어느 쪽이든 발생합니다). –

+0

예 모두 잘 작동합니다. 다시 한번 감사드립니다. – user1874941

2

동일한 원본 정책으로 인해이 작업을 수행 할 수 없습니다.

트릭은 이미지를 만들고 onerror 이벤트가 발생할 때까지의 시간을 측정하는 것입니다.

var start = new Date(); 

var img = new Image(); 

img.onerror = function() { 
    alert(new Date() - start); 
}; 

img.src = 'http://www.example.com/'; 

캐싱을 방지하기 위해 임의의 숫자를 URL에 추가하십시오.

+0

'complete' 함수가 호출됩니다 (에러 코드로도 마찬가지입니다). –

+1

이미지가 리디렉션을 따르지 않는 것처럼 보입니다. 나는 컬링 (curl)과 컬 (curl) -L을 비교했으며 AJAX 방법과 이미지를 비교했다. – Prinzhorn

+0

이것은 놀라운 트릭입니다 :) – user1874941

0

Firebug 또는 Chrome 개발자 도구와 같은 브라우저 확장을 사용하여 Ajax 응답 시간을 측정했습니다.

관련 문제