2012-04-20 4 views
1

403 금지 된 상태를 얻으려고하는데 PHP 곱슬 곱슬로 처리 할 수 ​​있지만 jquery를 사용해야합니다.jquery를 사용하여 URL 상태 가져 오기

여기 내 코드입니다. 의 URL의

$.ajax({ 

    url: 'https://s3.amazonaws.com/isdukg/01-jaimeson-complete_2_step_mix-pulse.mp3', 
    type: 'GET', 
    crossDomain: true, 
    dataType: 'jsonp', 
    statusCode: { 
     403: function() { 
     alert("Forbidden"); 
     // or do something useful 
     } 
    } 
}); 

$.ajax({ 

    url: 'https://s3-eu-west-1.amazonaws.com/fkcreate/Angles%2C%20Circles%20and%20Triangles..%20Instrumental.mp3', 
    type: 'GET', 
    crossDomain: true, 
    dataType: 'jsonp', 
    statusCode: { 
     403: function() { 
     alert("Forbidden"); 
     // or do something useful 
     } 
    } 
}); 

하나는 콘솔 창을 열 경우 여기를 참조하고 페이지를로드 할 수 있습니다 403 금지 오류가 발생합니다 - http://scaredem.users36.interdns.co.uk/

내가 유용한 일을 할 수있는 그 오류를 잡아 것 캔트 그것.

+0

jsfiddle

오류 메시지와 XML 문서를 생성합니다. –

+0

유일한 것은 '서버가 RFC 5746을 지원하지 않습니다. CVE-2009-3555'입니다. – Armatus

답변

4

jQuery ajax를 사용하면 statusCode 속성을 사용하여 HTTP 응답 상태 코드에 함수를 매핑 할 수 있습니다.

$.ajax({ 
statusCode: { 
    403: function() { 
    alert("Forbidden"); 
    // or do something useful 
    } 
} 
}); 
+0

이것이 올바른 방법이 될 것이라고 생각하지만 작동하지 않습니다 코드를 업데이트했습니다 – DCHP

+0

아마도 URL이 테스트되었을 때 응답 코드가 403이 아닐 수도 있습니다. BTW, mp3 파일을 얻는다면 왜 dataType이 jsonp로 선언됩니까? – supertopi

+0

나는 많은 다른 dataTypes 그것을 시도하는 문서에서 내가 올바른 하나는 오디오 파일에 대한 그들의 하나를 찾을 수 있었습니까? – DCHP

1

이 경우 timeout이 도움이 될 수 있습니다. 요청이 500 밀리 초 내에 시간 초과되면 응답이 없습니다 (응답 상태도 얻으려고했지만 운행하지 않음). 브라우저에서 URL을 여는

  $.ajax({ 
       url: "https://s3-eu-west-1.amazonaws.com/fkcreate/Angles%2C%20Circles%20and%20Triangles..%20Instrumental.mp3", 
       type: "get", 
       dataType: 'jsonp', 
       crossDomain : true, 
       timeout : 500, // it is milliseconds 
       complete : function(xhr, responseText, thrownError) { 
        if(xhr.status == "200") { 
         alert(responseText); // yes response came 
        } 
        else{ 
         alert("No response"); // no response came 
        } 
       } 
      });​ 
관련 문제