Que raro no dejó poner la función javascript ni el php:
aqui las dejo:
Código HTML:
<script>
function creaObjetoAjax () { //Mayoría de navegadores
var obj;
if (window.XMLHttpRequest) {
obj=new XMLHttpRequest();
}else { //para IE 5 y IE 6
obj=new ActiveXObject(Microsoft.XMLHTTP);
}
return obj;
}
function VerPdf(numero_esc, ano_esc){
var form;
form = 'numero_esc=' + numero_esc + '&ano_esc=' + ano_esc;
objetoAjax=creaObjetoAjax();
objetoAjax.open('POST','?view=abrirpdf',true);
objetoAjax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
objetoAjax.setRequestHeader("Content-length", form.length);
objetoAjax.setRequestHeader("Connection", "close");
objetoAjax.onreadystatechange = recogeDatos;
objetoAjax.send(form);
}
function recogeDatos(){
if (objetoAjax.readyState==4 && objetoAjax.status==200){
miTexto=objetoAjax.responseText;
//console.log(miTexto);
}
}
</script>
y este es el PHP:
Código PHP:
if(isset($_SESSION['id'],$_SESSION['usuario'],$_SESSION['email'])){
if(isset($_POST['numero_esc']) and isset($_POST['ano_esc'])){
$ext = 'pdf';
$pdf = $_POST['numero_esc'] . $_POST['ano_esc'];
$ruta = 'uploads/escrituras/'.$pdf . '.' . $ext;
//header('Content-type: application/pdf');
//header('Content-Disposition: attachment; filename="'.$ruta.'"');
//readfile($ruta);
echo $ruta;
}else{
echo 2;
}
}else{
header('location: ?view=index');
}
La cuestión es la siguiente: el php recibe sin problema lo que manda el AJAX pero en el momento de abrir el PDF se queda pensando y en el ajax si muestro por consola lo que retorna el php es un codigo con un monton de signos y bloquea el navegador.
No se si me estoy complicando pero necesito abrir el pdf . Trabajo con MVC.
Gracias