Jedini logičan razlog, bar po meni, da koristiš JavaScript za "dovlačenje" sadržaja je da formu sa parametrima prosleđuješ Ajax-om. U svakom drugom slučaju ne vidim zbog čega bi koristio JavaScript kada bi dovlačenje grafikona renderovanom PHP stranicom bila logičnija varijanta.
Bez obzira na sve ukoliko koristiš JavaScript za "dovlačenje" slike i pri tome je njena apsolutna adresa uvek ista znaj da ćeš imati problema sa keširanjem sadržaja u browseru nevezano za to da li u aresi zahteva dodaješ recimo nasumično generisane brojeve. Rešenje za problem je korišćenje posredničkog DOM
img elementa i definisanje
onload event handlera za njega. DOM img element će obezbediti da eksterna slika uopšte postane deo DOMa u asinhronom zahtevu a loader će obezbediti da slika bude prikazan tek kada se učita.
Sve gore rečeno je uz pretpostavku da se sistem funkcioniše tako da se forma pošalje simetrično (submit bez Ajaxa) i da nakon osvežavanja stranice JavaScript služi da se dovuče nova slika.
Kôd:
/**
* Sluzi iskljucivo kao DOM posrednik.
*/
var imgObj = document.createElement('img');
/*
* Brine se o tome da slika bude dodeljena tek kada se ucita.
*/
imgObj.onload = function(){
document.getElementById('grafikon').src = imgObj.src; //konkretna zamena
}
/*
* Izbegavanje kesiranja. Neophodno je ispostovati i deo sa DOMom da ovo radi kod asinhronih zahteva.
*/
var cDate = new Date();
var urlID = cDate.getDate() + cDate.getMonth() + "" + cDate.getFullYear()+ cDate.getHours() + cDate.getMinutes()+ cDate.getSeconds();
imgObj.src = 'http://url' + "?ts=" + urlID;