You should just call the serverside page directly in the window.open or an in iframe. Do not do an Ajax call since JavaScript can not handle binary data.
Agreed, doing some more digging it does appear AJAX just isn't fitted for fetching binary data.
However, how can you specify a POST method using the techniques you suggest?