вместо того, чтобы пытаться перезагрузить или что-то в этом роде, вы рассматривали возможность сделать что-то вроде
document.body.innerHTML = [the string HTML that you got back from XHR];
Или, возможно, вы могли бы сделать это, построив новый DOM из HTML, а затем заменив его?