NẾU BẠN THỰC SỰ CẦN SỬ DỤNG AJAX ...
Tôi đã đi qua các giai đoạn mà các trình xử lý tải không phải là lựa chọn đúng đắn. Trong trường hợp của tôi khi in qua javascript. Vì vậy, thực sự có hai tùy chọn để sử dụng kiểu AJAX cho việc này:
Giải pháp 1
Sử dụng dữ liệu hình ảnh Base64 và dịch vụ hình ảnh REST. Nếu bạn có dịch vụ web của riêng mình, bạn có thể thêm tập lệnh REST / PHP REST cung cấp hình ảnh ở dạng mã hóa Base64. Bây giờ làm thế nào là hữu ích? Tôi đã bắt gặp một cú pháp mới thú vị để mã hóa hình ảnh:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhE..."/>
Vì vậy, bạn có thể tải dữ liệu Image Base64 bằng Ajax và sau đó khi hoàn thành, bạn xây dựng chuỗi dữ liệu Base64 thành hình ảnh! Rất vui :). Tôi khuyên bạn nên sử dụng trang web này http://www.freeformatter.com/base64-encoder.html để mã hóa hình ảnh.
$.ajax({
url : 'BASE64_IMAGE_REST_URL',
processData : false,
}).always(function(b64data){
$("#IMAGE_ID").attr("src", "data:image/png;base64,"+b64data);
});
Giải pháp 2:
Lừa trình duyệt để sử dụng bộ đệm của nó. Điều này cung cấp cho bạn một fadeIn () đẹp khi tài nguyên nằm trong bộ đệm của trình duyệt:
var url = 'IMAGE_URL';
$.ajax({
url : url,
cache: true,
processData : false,
}).always(function(){
$("#IMAGE_ID").attr("src", url).fadeIn();
});
Tuy nhiên, cả hai phương pháp đều có nhược điểm của nó: Cách thứ nhất chỉ hoạt động trên các trình duyệt hiện đại. Cái thứ hai có trục trặc về hiệu năng và dựa vào giả định cách sử dụng bộ đệm.
chúc mừng, sẽ