Как сделать кешируемый AJAX-запрос?
'?r='+Math.random() разве не говорит чтобы постоянно скачивало?
1. установить HTTP-заголовок "Expires".
2. Сохранить локально (Offline web applications, Web SQL Database, IndexedDB, LocalStorage)