изменение данных позади пути изображения - jquery отображает только старое изображение - PullRequest
1 голос
/ 11 июня 2011

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

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

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

$("div#button2").click(function() {</p>

<code>//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 = "";      
}
    });
</code>

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

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

Benjamin

1 Ответ

1 голос
/ 11 июня 2011

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

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

...