<script>
function fechas()
{
var fecha = prompt("Ingresar Fecha 1: Año-mes-día");
var fechaa = prompt("Ingresar Fecha 2: Año-mes-día");
{%set fecha1=fecha%}
{%set fecha2=fechaa%}
}
</script>
<a onclick="fechas();" href="{{path('jhonathan_sicondc_reportea',{'fecha1':fecha,'fecha2':fechaa})}}"><i class="fa fa-file-pdf-o fa-fw"></i> Avances Microcurriculares</a>
Gracias por tu respuest... he investigado y he buscado información y encontré este código, pero no logro abrir la rutaes decir según el mensaje me sale ok, quiere decir que esta bien pero no se me ejecuta la acción del controlador que es ejecutar un pdf.... haciéndole de forma manual estableciendo las fechas me genera el pdf, pero al querer utilizar y enviar los parámetros desde el ajax no se ejecuta.. te dejo el código a ver si me puedes ayudar o si tienes alguna pagina que me podría ayudar..
te agradezco de antemano.
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#enlaceajax").click(function(evento) {
evento.preventDefault();
var fecha = prompt("Ingresar Fecha 1: Y-M-D");
var fechaa = prompt("Ingresar Fecha 2: Y-M-D");
$('#tabla').load("{{path('jhonathan_sicondc_reportea',{'fecha1':'fech1','fecha2':'fech2'})}}");//esta linea le puse por que vi que asi llamaban y ejecutaban una di
var url = "{{path('jhonathan_sicondc_reportea',{'fecha1':'fech1','fecha2':'fech2'})}}";
url = url.replace("fech1", fecha);
url = url.replace("fech2", fechaa);
jQuery.ajax({
url: url,
timeout: 5000,
success: function(data) {
alert('ok');
},
error: function() {
alert('mal');
}
});
});
});
</script>
method: "POST" o "GET", //esto depende de como lo tengasurl: url,
dataType : 'html', //si esperas un html o json si esperas un jsondata: { fecha1:fecha, fecha2: fechaa }success:fucntion(data) {console.log(data) //para comprobar lo que te devuelve//Si te devuelve lo que esperas después lo podrás cargar en el div$('#tabla').html(data);},error:function(){//lo que quieras hacer}
--
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+...@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a symfony-es+...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Gracias por tu respuesta... he pobrado tu codigo y si llama al controlador he probado mandando un parametro y me indica un error:
POST http://localhost/SICONDC/web/app_dev.php/Docente/reportea/null/2015-06-05 500 (Internal Server Error)
public function reporteaAction($fecha1,$fecha2) { $em = $this->getDoctrine()->getManager(); //$fecha1='05-06-2015'; // $fecha2='10-06-2015'; $fec1 = new DateTime($fecha1); $fec2= new DateTime($fecha2); $did = 1; $datos = $em->getRepository('JHONATHANSicondcBundle:Dictado')->getdictados2($did,$fec1,$fec2); $html = $this->renderView('JHONATHANSicondcBundle:Docente:reportea.html.twig', array( 'datosdictado' => $datos));
$response = new Response( $this->get('knp_snappy.pdf')->getOutputFromHtml($html, array('lowquality' => false, 'print-media-type' => true, 'encoding' => 'utf-8', 'page-size' => 'Letter', 'outline-depth' => 8, 'orientation' => 'Portrait', 'title' => 'Reporte Asignaturas - Especialidades', 'user-style-sheet' => 'css2/bower_components/bootstrap/dist/css/bootstrap.min.css', 'header-right' => 'SICONDC', 'header-font-size' => 10, 'footer-right' => 'Pag. [page] de [toPage]', 'footer-font-size' => 7, )), 200, array( 'Content-Type' => 'application/pdf', 'Content-Disposition' => 'attachment; filename="ReporteAvanceMicrocurricular.pdf"' ) ); return $response; }jhonathan_sicondc_reportea: pattern: /Docente/reportea/{fecha1}/{fecha2} defaults: { _controller: JHONATHANSicondcBundle:Docente:reportea }<script type="text/javascript"> $(document).ready(function() {
$("#enlaceajax").click(function(evento) { evento.preventDefault(); var fecha = prompt("Ingresar Fecha 1: Y-M-D"); var fechaa = prompt("Ingresar Fecha 2: Y-M-D");
var url = "{{path('jhonathan_sicondc_reportea',{'fecha1':'fech1','fecha2':'fech2'})}}"; url = url.replace("fech1", fecha); url = url.replace("fech2", fechaa); $.ajax({ method: "POST", url: url, dataType: 'html', //si esperas un html o json si esperas un json data: {fecha1: fecha, fecha2: fechaa}, success: function(data) { console.log(data); $('#tabla').html(data); alert('ok'); }, error: function() { alert('mal'); } }); }); });</script><a id="enlaceajax" href="#"><i class="fa fa-file-pdf-o fa-fw"></i> Avances Microcurriculares</a>
Según la ruta del error sólo le estás pasando una fecha, la otra se la estas pasando como null. Pon tu routing para más información. Utilizando firebug puedes obterner el error exacto mirando la respuesta de la llamada. También te recomiendo que utilices xdebug para debugear mejor el código. Pero en resumen creó que te falla al crear el datatime con un valor null.
Un saludo
--
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Google Groups.
Para publicar en este grupo, envía un email a symfo...@googlegroups.com
Para darte de baja, envía un email a symfony-es+...@googlegroups.com
El resto de opciones puedes encontrarlas en http://groups.google.com/group/symfony-es?hl=es
---
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a symfony-es+...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
window.open(url);