2016-06-07 4 views
1

오류 처리를 시도합니다. 여기에 내 경우입니다 - 여러 URL에서 여러 AJAX 호출이 있습니다. 나는 url 응답 오류 500이 어느 URL인지 알기를 원한다. 여기 내 코드가있다.jQuery AJAX 다중 호출 오류 처리

var urls = ["url1.php", "url2.php", "url3.php"]; 
$.each(urls, function(index, value) { 
    $.ajax({ 
     global: false, 
     type: 'POST', 
     url: value, 
     dataType: 'html', 
     data: returnData(), 
     success: function(result) { 
      switch(value) { 
       case "url1.php": 
        break; 
       case "url2.php": 
        break; 
       case "url3.php": 
        break; 
      } 
     }, 
     error: function (e, request, status, error) { 
      if (e.status == 500) { 
       alert("500 error"); 
      } 
     } 
    }); 
}); 

이제 오류 중 하나가 500 번을 반환하면 어떤 URL인지 알 수 없습니다. 누군가가 조언을하면 매우 감사 할 것입니다. 미리 감사드립니다.

+0

'요청'에있을 수 있습니까? – biseibutsu

+0

@biseibutsu 그래,하지만 어떻게? 아이디어가 있었나요? – diank

+0

브라우저의 개발자 도구에서 요청한 URL을 찾으려고 할 수 있습니다. 요청 자체를 볼 수 있어야합니다. – biseibutsu

답변

1

업데이트 : 허용되는 답변이기 때문에이 대답을 삭제할 수 없습니다. 이것은 더 좋은 대답이 아니며 value 변수를 사용하여 Barmar의 대답을 참조하십시오.

당신은해야이처럼 할 수있다 : 당신은 확실히 $(this)[0].url 부분으로 만들기 위해 디버깅해야 할 수도 있습니다

 error: function (e, request, status, error) { 
      if (e.status == 500) { 
       alert("500 error" + $(this)[0].url); 
      } 
     } 

가, 난 그냥 곳으로 내 코드에서 오류 콜백 URL을, 그것은 수도 찾을 확인되었다 너에게 똑같지 않아? 나는 잘 모르겠다. 하지만 $ (this) 객체에서 url을 찾을 수 있어야합니다.

+0

Thnaks 많이! 위대한 작품! – diank

+0

도움이되기를 기쁘게 생각합니다! – biseibutsu

+1

정말 작동합니까? 'this'는 콜백 함수에 넘겨서는 안됩니다. – Barmar

2

value 변수가 클로저에 캡처됩니다. 따라서 :

alert("500 error from " + value); 
+0

@ 비세이 부츠보다 훨씬 좋은 대답입니다. –