2011-09-24 14 views
4

.png 이미지 파일을 반환하는 .php 파일이 있습니다.아약스 요청으로 이미지를 가져 오는 방법은 무엇입니까?

jQuery로이 이미지를 얻는 방법 $.ajax()?

또한 입력 매개 변수에 몇 가지 실수가 있었으며 .php 파일은 JSON 방식으로 오류를 반환합니다.

이미지 또는 JSON 오류와 함께 어떤 정보가 반환되었는지 이해하는 방법은 무엇입니까?

UPDATE :

나는이 스크립트 통계 그래픽을 그릴 필요가있다. .php 파일은이 사용자 (세션에서 가져온 사용자 ID가 요청 된 사용자의 통계를 볼 수 있는지 여부)가있는 경우 일부 데이터 (예 : 통계가 요청되는 계정 ID)를 확인하고 검사합니다. 허용되는 경우 이미지가 반환됩니다. 그렇지 않으면 json 오류가 발생합니다. 그래서 만들 수 있지만 오류가 발생하면 이미지가로드되지 않습니다. 하지만 사용자에게 오류 알림을 표시해야합니다.

답변

2

당신은 다음과 같이 사용할 수 있습니다 :

<img src="data:image/png;base64,R0lGODlhUA... " width="80" height="15" /> 

그래서 난 당신이 아약스 요청에서 문자열을 base64 인코딩을받을 수 있도록 이미지를 표시하기 위해 사용하는 것이 좋습니다

+1

매우 작은 이미지의 경우에도 base64로 인코딩 된 문자열의 실제 크기는 거대합니다. – Pacerier

3

응답에 첨부 파일로이 이미지를 반환하는 경우 javascript 변수에서이 첨부 파일을 가져올 수 없습니다. 그렇지 않으면 응답 스트림에서 이미지를 반환하고 속성 콘텐츠 유형을 설정하면 이미지에 .php을 할당 할 수 있습니다. srs :

$('img').attr('src', 'my-image-handler.php'); 
+0

예감,이 점을 이해합니다. 그러나 오류를 처리하는 방법. 이 글에 대한 첫 번째 글에서 더 많은 것을 쓸 것이다. –

+0

옵션으로 필요한 params와 함께 요청할 다른'.php' 파일을 만들고 설명 된 검증을 수행 할 것이다. 요청이 유효한 경우 이미지 소스로 설정하는 이미지 URL을 반환하고, 그렇지 않으면 오류를 처리합니다. – Samich

1

http://www.anthonymclin.com/code/7-miscellaneous/98-on-demand-image-loading-with-jquery

이미지를 올바른 형식으로 AJAX 요청에 보내야합니다. 솔루션은 예를 들어 octect stream, base64 등입니다. 온 디맨드 컨텐츠 로딩을 달성하는 데는 여러 가지 방법이 있습니다. 중요한 점은 서버 측과 클라이언트 측 동기화를 유지하는 것입니다.

JSON을 서버에 보내면 XML을 다시 가져올 수 있지만 JS가 작동하지 않는 HTML을 기대할 수 있습니다.

관련 문제