изменение данных за контуром изображения — jquery отображает только старое изображение

#ajax #image #jquery #jcrop

#ajax #изображение #jquery #jcrop

Вопрос:

просто представьте свой профиль на facebook. при смене вашего аватара вы выбираете новое изображение, обрезаете его и затем сохраняете. после этого новый аватар отображается в вашем профиле.

на моем веб-сайте я хочу предоставить тот же сервис, который уже работает.

но: я не могу отобразить новый и (!) обрезанный аватар сразу после его создания (с помощью php). я могу отобразить только новое, но не обрезанное. после обновления моего сайта все работает нормально.

$("div#button2").click(функция() {

//Thumbnail is created externally with php //the name of the new cropped avatar is the same like the uncropped one //i just change the picture, but the url is the same! $.post("upload_thumbnail.php", { bild: bild, format: format, x: x, y: y, w: w, h: h }); //delete the old avatar $.post("upload_loeschen.php", { bild: bildalt }); //save the url of the new cropped avatar in the database $.post("upload_update.php", { bild: bild, laden_nr: "1" }); //close my imageeditor $("div#bildeditor").hide(); jcrop_api.destroy(); $("#cropbox").attr("src", ""); $("#preview").attr("src", ""); //If there is a new avatar, display it!!! -> and here only the uncropped is displayed if(bild != "") { $("img#logo").attr("src", bild); bild = ""; } });

Я просто не знаю, как сайт может отображать не обрезанный аватар, потому что его там больше нет. оно было заменено на обрезанное.

Большое вам спасибо!

Бенджамин

Ответ №1:

проблема в том, что ваш аватар был кэширован, поэтому попробуйте добавить случайный параметр с именем изображения

при загрузке var i=1;
При смене аватара i ;
и установите img src ="imgpath?random=" i

Комментарии:

1. извините, я понял, что вы имеете в виду, но я не понимаю этого полностью. куда я должен добавить случайный параметр? в файле php? Спасибо