2013-06-07 3 views
1

서버의 가용성을 확인하고 사용 가능한 경우 스크립트를로드하십시오.

클라이언트 측

jQuery(document).ready(function(){ 

    jQuery.ajax({ 
     dataType: "jsonp" , 
     timeout: 1000, 
     cache: false, 
     url: "http://xxx/include/xxx.php?q=?", 

     success: function(msg) 
     { 

    jQuery.getScript("http://xx.xxx-x.ru/include/xx/js/jquery.min.js").done(function(script, textStatus) { 
/*then load scripts using getScript. */ 
}) 

},error: function (xOptions, textStatus,jqxhr) { 

     console.log(xOptions.abort()); 
     } 

    }) 

    }) 

서버

xxx.php 아약스 오류 (시간 초과)하지만, 브라우저의 작품은 여전히하려고하고

error_reporting(0); 
parse_str($_SERVER['QUERY_STRING'], $_GET); 
sleep(2000); // Server is dead/hung etc. 
if (isset($_GET['q']) && !empty($_GET['q'])) 
{ 
    header('Content-Type: application/json'); 
    echo $_GET['q'].'()'; 
} 

서버에서 데이터를 검색합니다 (아마도 배송비 2000 초) 시간 초과 = 1s

무엇이 문제입니까? 뇌는 이미 대한

죄송합니다) 끓인 내 나쁜 영어

+0

아마도 브라우저가 소유 한 타임 아웃 및 TCP/IP 프로토콜을 당신은 할 수 그것을 바꾸지 마라. 어쩌면 아약스 시간 초과는 "브라우저 연결 또는 TPC/IP 연결 유지 기간"이 아니라 "응답 대기 시간"입니다. 그것은 페이지/스크립트가 작동하도록 귀찮게합니까? – furas

+0

내 페이지가 작동하지 못하게합니다. – user1763445

+0

작업 : 사용자가 초에 업로드 할 경우 클라이언트의 웹 사이트에 스크립트를 다운로드해야합니다. 스크립트는 타사 사이트에 있습니다. – user1763445

답변

1

그냥 사용하지 왜 : 시간 제한 등을 소유하고있다

<script src="http://xx.xxx-x.ru/include/xx/js/jquery.min.js"></script> 
<script> 
    if(window.jQuery) { 
     /*then load scripts using getScript. */ 
    } 
</script> 
관련 문제