Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2015, 10:44
Avatar de DeivisAndres
DeivisAndres
 
Fecha de Ingreso: febrero-2012
Ubicación: Colombia
Mensajes: 305
Antigüedad: 12 años, 10 meses
Puntos: 41
Exclamación Problema al retornar Objeto Response en Sysmfony por medio de Ajax

Hola a todos, pues mi problema es al momento de crear un PDF con "knp_snappy" y retornar la respuesta en el navegador para su visualización por medio del AJAX, pues lo que tengo es esto:

Este es mi JavaScript:

Código Javascript:
Ver original
  1. var options = {
  2.      type: "GET",    
  3.      headers: "....",
  4.      url: "ruta a ejecutar",
  5.      data: data,
  6.      contentType: 'application/json',
  7.      dataType: "json",
  8.      success: function(data, textStatus, jqXHR) {                                          
  9.           var winlogicalname = "detailPDF";
  10.           var winparams = 'width=850,height=1050';
  11.           //var htmlText = '<embed width="100%" height="100%" type="application/pdf" src="data:application/pdf,' + data + '"></embed>';                                        
  12.           var detailWindow = window.open(winlogicalname, winparams);
  13.       detailWindow.document.write(data);
  14.       //detailWindow.document.write(htmlText);
  15.       detailWindow.document.close();
  16.       },
  17.       error: function(xhr, status, error) {
  18.     alert("Estado del error " + status + " Error " + error);
  19.       }
  20. };
  21.  
  22. $.ajax(options);

Este es mi controlador de Symfony:

Código PHP:
Ver original
  1. $html = $this->renderView('ReportBundle:Price:price.html.twig', $data);
  2. $filename = "export.pdf";
  3. $basePath = $this->container->getParameter('kernel.root_dir');
  4. $basePath = str_replace("app", "web", $basePath);      
  5.  
  6. if (file_exists($basePath."/".$filename)) {
  7.     unlink($basePath."/".$filename);
  8. }
  9.  
  10. $this->get('knp_snappy.pdf')->generateFromHtml($html, $filename);
  11. $response = $this->get("talker")->response(array("success" => true));
  12. $response = new Response($response, 200);  
  13. $response->headers->set('Content-Description', 'PDF');
  14. $response->headers->set('Content-Type', mime_content_type($filename));
  15. $response->headers->set('Content-Disposition', 'inline; filename='.basename($filename));
  16. $response->headers->set('Content-Transfer-Encoding', 'binary');        
  17. $response->headers->set('Expires', '0');
  18. $response->headers->set('Cache-Control', 'must-revalidate');
  19. $response->headers->set('Pragma', 'public');           
  20. $response->headers->set('Content-Length:', filesize($basePath."/".$filename));
  21.            
  22. $response->sendHeaders();          
  23. $response->setContent(readfile($basePath."/".$filename));
  24.  
  25. return $response;

Pero el unico mensaje que me muestra es: "Estado del error parsererror Error SyntaxError: Unexpected end of input"

Si alguien me puede ayudar se lo agradeceria.