2014-04-30 2 views
0

크로스 도메인 이미지가 있는지 여부를 확인하려고합니다. 그것이 exsists 경우 클래스 photos와 div에 추가해야합니다. 내가 성공 함수 내에서 콘솔 로그를 할 경우 함수가 호출되고되지 않도록Ajax 성공하지 못했습니다.

var num = 6; 
for(var i = 1; i <= num; i++) { 
    var ThisURL = 'http://example.com/test-0' + i + '.jpg'; 
    var ThisImage = '<img src="http://example.com/test-0' + i + '.jpg" />'; 
    CheckImage(ThisURL, ThisImage); 
} 

function CheckImage(a, b) { 
    $.ajax({ 
     url:a, 
     type:'HEAD', 
     error: function(){ 
      // nothing 
     }, 
     success: function(){ 
       $("div.photos").append(b); 
     } 
    }); 
} 

그것이

어떤 생각의 .. 콘솔에 아무것도 기록하지 않습니다 여기 내 코드는? 왜 대신 사용하지

+0

봐. 어떤 오류가 있습니까? Net 탭을보십시오. 요청이 만들어진 것입니까? 응답을 받고 있습니까? 그들은 당신이 기대하는 것입니까? 'nothing'을'error' 핸들러에서 유용한 것으로 대체하고,'error' 함수가 전달 된 인수를보십시오. – Quentin

+0

@Quentin 콘솔이 요청을 로깅하고 6 개 중 4 개가 실패합니다. 오류를 무시하기 만하면 오류 처리기로 무엇을해야합니까? –

+0

오류를 무시하려면 왜 성공 함수가 호출되지 않는지 궁금한가요? – Quentin

답변

2

다음 JS 콘솔에서

function CheckImage(a) { 
    $("<img/>").one('load', function() { 
     $("div.photos").append(this); 
    }).attr('src',a); 
} 
+0

이것은 또한 존재하지 않는 사진을 추가합니다 ... 그럼에도 같은 문제가 있습니다. –

+0

답변이 업데이트되었습니다. 잘못된 이미지로 인해로드 이벤트가 발생하지 않아야합니다. –

+0

감사합니다. –

관련 문제