title: Display PDF After AJAX Call to Controller
body: <p>I am trying to display a PDF after a successful AJAX call to my controller. I needed to modify the original way I was doing it to be able to handle multiple PDFs to return a single one.</p>
  
  <p>The old way:</p>
  
  <pre><code>var uri = '../api/Controller/' + string1 + "," + string2 + "," + string3;
  var src = '../web/printViewer.html?file=' + encodeURIComponent(uri);
  window.open(src, "_blank");
  </code></pre>
  
  <p>So I have tried to keep the functionality of that with an AJAX call that looks like this:</p>
  
  <pre><code>$.ajax({
      type: 'get',
      url: '../api/Controller',
      contentType: 'application/json; charset=utf-8',
      data: { thing1: item, thing2: item2 },
      datatype: 'json',
      success: function (result) {
          // no bueno D:
          // but I get back a proper PDF every time
      },
      error: function () {
          toastr.error('Error creating print.');
      }
  });
  </code></pre>
  
  <p>and for the C# controller:</p>
  
  <pre><code>[HttpGet]
  public HttpResponseMessage Get(string thing1, string thing2) //thing2 will be a string[] eventually, once I am able to get 2-3 pdfs working
  {
      byte[] data = response.PDFBytes[0] == null ? new byte[0] : response.PDFBytes[0];
      int length = response.PDFBytes[0] == null ? 0 : response.PDFBytes[0].Length;
  
      var stream = new MemoryStream(data, 0, length, true, true);
  
      result.Content = new ByteArrayContent(stream.GetBuffer());
  
      result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment")
      {
          FileName = "CheckedOutItems.pdf"
      };
  
      result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
  }
  </code></pre>
  
  <p>The first thing I tried to do was to just turn the entire thing into one big string, but it was getting far too long with only a few PDFs. I know the controller is returning a solid PDF, but I cannot seem to display it in the printViewer window.</p>
  
  <p>Thanks in advance!!</p>
  
  <p>EDIT:</p>
  
  <p>I am not trying to download the file. I just wish to open it in a new window so the user can print it. Someone has suggested the same article twice now where the developer is trying to download the PDF. That is not what I am after. </p>