It turns out that Internet Explorer caches AJAX requests (how clever). If you’re using $.ajax(), you can pass cache: false option to it, but if – like me – you’re using $.get() and $.post(), just use
$.ajaxSetup({cache: false});
somewhere at the start of your script.