Reputation: 6663
How do you open a new window that displays the streamed response of an AJAX request?
Upvotes: 7
Views: 6284
Reputation: 6663
Other similar questions presuppose a scenario where the response has a defined url, other answers are kind of old.
For modern browsers, you use fetch you can can call blob() on the returned response and then use URL.createObjectURL() to create a temporary url that you can open as normal with window.open().
Full example is something like
fetch(urlThatReturnsDataOpenableByBrowser)
.then(response => response.blob())
.then(data => window.open(URL.createObjectURL(data)))
Upvotes: 16