[JQUERY] 아약스에 대한 설정 시간 제한 (jQuery를)
JQUERY아약스에 대한 설정 시간 제한 (jQuery를)
해결법
-
1.$ 아약스 설명서를 읽어 보시기 바랍니다,이 덮여 주제입니다.
$ 아약스 설명서를 읽어 보시기 바랍니다,이 덮여 주제입니다.
$.ajax({ url: "test.html", error: function(){ // will fire when timeout is reached }, success: function(){ //do something }, timeout: 3000 // sets timeout to 3 seconds });
기능 (jqXHR, textStatus, errorThrown) 옵션 : 당신은 오류의 유형은 오류의 textStatus 매개 변수에 액세스하여 발생 된 것을 볼 수 있습니다. 옵션은 "중단", "타임 아웃", "오류", 및 "parsererror"입니다.
-
2.여기에 설정하고 jQuery의 이전 및 새 paradigmes에서 타임 아웃을 감지 증명한다 몇 가지 예입니다.
여기에 설정하고 jQuery의 이전 및 새 paradigmes에서 타임 아웃을 감지 증명한다 몇 가지 예입니다.
라이브 데모
jQuery로 약속 1.8 이상
Promise.resolve( $.ajax({ url: '/getData', timeout:3000 //3 second timeout }) ).then(function(){ //do something }).catch(function(e) { if(e.statusText == 'timeout') { alert('Native Promise: Failed from timeout'); //do something. Try again perhaps? } });
jQuery를 1.8 이상
$.ajax({ url: '/getData', timeout:3000 //3 second timeout }).done(function(){ //do something }).fail(function(jqXHR, textStatus){ if(textStatus === 'timeout') { alert('Failed from timeout'); //do something. Try again perhaps? } });
jQuery를 <= 1.7.2
$.ajax({ url: '/getData', error: function(jqXHR, textStatus){ if(textStatus === 'timeout') { alert('Failed from timeout'); //do something. Try again perhaps? } }, success: function(){ //do something }, timeout:3000 //3 second timeout });
textStatus의 PARAM (또는 jqXHR.statusText)이 오류가 무엇인지 알려 드릴 것입니다 것을 알 수 있습니다. 당신이 실패가 타임 아웃에 의한 것을 알고 싶은 경우에 유용 할 수 있습니다.
SRC : http://api.jquery.com/jQuery.ajax/
-
3.이 같은 아약스 옵션에서 시간 제한 설정을 사용할 수 있습니다 :
이 같은 아약스 옵션에서 시간 제한 설정을 사용할 수 있습니다 :
$.ajax({ url: "test.html", timeout: 3000, error: function(){ //do something }, success: function(){ //do something } });
여기 아약스 옵션에 대한 모든 읽기 : http://api.jquery.com/jQuery.ajax/
시간 초과가 발생하면 오류 처리기가 트리거되지 성공 핸들러 것을 기억 :)
-
4.전체 기능을 갖춘 아약스의 jQuery를 기능을 사용합니다. 예제 https://stackoverflow.com/a/3543713/1689451와 비교.
전체 기능을 갖춘 아약스의 jQuery를 기능을 사용합니다. 예제 https://stackoverflow.com/a/3543713/1689451와 비교.
단지 참조 SO 질문과 코드를 통합, 테스트하지 않고 :
target = $(this).attr('data-target'); $.ajax({ url: $(this).attr('href'), type: "GET", timeout: 2000, success: function(response) { $(target).modal({ show: true }); }, error: function(x, t, m) { if(t==="timeout") { alert("got timeout"); } else { alert(t); } } });
from https://stackoverflow.com/questions/5225597/set-timeout-for-ajax-jquery by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery를 검증 플러그인을 사용자 정의 날짜 형식 (0) | 2020.10.11 |
---|---|
[JQUERY] 사업부의 높이가 jQuery를 사용하여 변경할 때 검출 (0) | 2020.10.11 |
[JQUERY] 아약스 요청을 시퀀싱 (0) | 2020.10.11 |
[JQUERY] 날짜로 밀리 초 변환 (jQuery를 / 자바 스크립트) (0) | 2020.10.11 |
[JQUERY] $ (문서) .click ()는 아이폰에서 제대로 작동하지 않습니다. JQuery와 [중복] (0) | 2020.10.11 |