6

How do you open a new window that displays the streamed response of an AJAX request?

Poyan
  • 6,243
  • 6
  • 28
  • 30

1 Answers1

13

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)))
Community
  • 1
  • 1
Poyan
  • 6,243
  • 6
  • 28
  • 30