4

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

Poyan
  • 5,643
  • 4
  • 26
  • 29

1 Answers1

11

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
  • 5,643
  • 4
  • 26
  • 29