2009-09-30 2 views
0

jQuery로 이미지를로드 할 수없는 이유를 파악하는 데 문제가 있습니다. 그것은 나에게 브라우저 캐시 문제로 보이지만 확실하지 않습니다. 나에게 생성 된 이미지의 경로를 리턴하는 아약스 호출을하고있다. 완전한 방법으로이 새로운 것에 대한 기존 이미지를 대체하고 싶습니다. 이미지의 src가 변경되지만 이미지는 그대로 유지됩니다. 다음은 코드의 일부입니다. 내가 뭔가 잘못하고 있다고 말해 줄 수 있니? 내가 attr('src', 'image.jpg')를 입력하면jquery image로드/교체

'onComplete' : function(response) 
{ 
    var img = new Image(); 

    $(img).load(function() 
    { 
     $('#imagecontainer').children("#imagepreview").remove(); 
     $('#imagecontainer').append(this); 
     $(this).fadeIn(); 
    }).attr('src', response); 
} 

그것은 또한 내가 경고 응답이 '가 image.jpg'날을 제공하는 경우, 작동하지만 내가 attr('src', response)를 넣어 경우 작동 나던! 당신이 요청을 발행 사용하는 jQuery를 방법, 나는 문제의 확신 할 수 없다 모른 채

감사

+1

경고 (응답 유형); 너 줄까? – Greg

+0

그것은 나에게 문자열을 준다. –

답변

0

을; 그러나 추측으로 나는 response 대신에 response.responseText을 시도한다고 말할 것입니다. 또한

라인 :

$('#imagecontainer').children("#imagepreview").remove(); 

도 될 수있다

$('#imagepreview').remove(); 

나는 당신의 ID를 당신이를 추가하는 것 같습니다 :)

0

고유 있으리라 믿고있어으로 이미지를 컨테이너에 추가 한 후 이미지에 대한 URL입니다. 추가하고있는 새 이미지도 "imagepreview"라는 ID가 있어야합니까?

'onComplete' : function(response) 
{ 
     var img = new Image(); 
     $(img).load(function() 
     { 
       $("#imagepreview").remove(); 
       $(this).attr({'src':response, 'id': 'imagepreview'}); 
       $('#imagecontainer').append(this); 
       $(this).fadeIn(); 
     }); 
}