Auf der Same Origin getestet:
var xhr = new XMLHttpRequest();
xhr.open("GET","%url%?att=1"); // Same Origin
xhr.responseType = 'blob';
xhr.onload = function(){
var href = URL.createObjectURL(this.response);
document.getElementById('link').href = href;
}
xhr.send()
Der Link wird praktisch neu gebaut mit der Response als Blob. Damit ist der Downloaddialog weg.
MFG
PS: Funktioniert auch mit Cross Origin.