2016-04-06 20 views
1

Yeni bir resim yüklediğimde, profil resminin sayfayı yeniden yüklemeden veya sayfalar arasında geçiş yapmadan bu yeni resme dönüşmesini istiyorum. Ben görüntü kaynağını base64 kodlanmış dizeye değiştirmek için AJAX get yöntemi ile jQuery kullanıyorum.JQuery'de temel64 görüntü dizesi güncellendiğinde görüntü yenileme gerçekleşmiyor

ekran profil resmi jQuery fonksiyonu -

$("img.profilepicture").each(function() { 
    var profileid = $("#profileid").val(); 
    var action = "image"; 
    var self = $(this); 
    getprofileimage(profileid, action,self); 
}); 

function getprofileimage(profileid, action, self) { 
    $.ajax({ 
    type: "GET", 
    url: "StoryServlet", 
    data: { 
     'action': action, 
     'for': profileid, 
     'timestamp': new Date().getTime() 
    }, 
    processData: false, 
    contentType: false, 
    success: function (data) { 
     self.attr('src',data.base64String); 
     self.attr('title','profilepic'); 
    } 
    });  
} 

yükle görüntü jQuery fonksiyonu -

$("#uploadpic").click(function (e) { 
    e.preventDefault(); 
    var fd = new FormData(document.querySelector("form")); 
    $.ajax({ 
    type: "POST", 
    url: "StoryServlet", 
    data: fd, 
    processData: false, 
    contentType: false, 
    success: function (data) { 
     $("#picsucess").text(data.filename + " " + "uploaded sucessfully!"); 
     $("#picsucess").fadeIn(); 
     $("#picsucess").fadeOut(10000); 
    }  
    }).done(function (data) { 
    //done block 
    }).fail(function (jqXHR, textStatus) { 
    $("#fadein").text('File upload failed ...'); 
    $("#fadein").fadeIn(); 
    $("#fadein").fadeOut(10000); 
    }).complete(function (jqXHR, textStatus) { 
    location.reload(); 
    });  
}); 

cevap

0

Bunda $ .ajax geçirilen verilerin işlenmesi için gereken

processData: false, 
contentType: false, 

kaldır durum (ekran profili resim fonksiyonu) ve bunun için uygun bir şekilde okunacak içerik türünü ayarlamak için Sunucu.
Ayrıca

dataType: 'json', 

güvenli olması için ekleyin. ve cevabınızın geçerli json olduğundan emin olun.

+0

Işlemin kaldırılmasıData: false, contentType: false, işini yaptı. Teşekkürler! – bodhi

İlgili konular