Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-08-2016
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Perdón se me olvidó el contenido de booststrap.php (tiene un include), aquí os lo dejo, tiene muchas más cosas de las necesarias porque lo utilizo de forma estándar.
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
link rel="stylesheet" href="js/jquery-ui.css" />
<
link rel="stylesheet" href="css/bootstrap.min.css"/>
<
link rel="stylesheet" href="css/jasny-bootstrap.css"/>
<
link rel="stylesheet" href="css/main.css">
<
title>Documento sin título</title>
</
head>

<
body>
<
script src="js/jquery-ui.js"></script>
<script src="js/jquery.autotab.js" type="text/javascript"></script>
<script src="js/bootbox.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/es.js"></script>
<script type="text/javascript" src="js/ajax_class.js"></script>
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script src="js/bootstrap-datepicker.js"></script>
<script type="text/javascript" src="js/jasny-bootstrap.js"></script>
<script type="text/javascript" src="js/jquery-3.1.0.min.js"></script>

</body>
</html> 
Responder Con Cita
  #2  
Antiguo 09-08-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Vamos a ver, esto no tiene nada que ver con el tipo de etiqueta usada sino con una expectativa errónea. Voy a tratar de clarificar con un ejemplo extra resumido que, me parece, refleja la estructura original:

Código PHP:
// Este es el archivo prueba.php

<script type='text/javascript' src='jquery-3.1.0.min.js'></script>
<?php if($_SERVER['REQUEST_METHOD'] == 'POST'): ?>
<script type='text/javascript'>
    $(document).ready(function() {
        alert("<?= $_SERVER['HTTP_USER_AGENT'?>");
    });
</script>
<?php else: ?>
<form method='post'><button type='submit'>Procesar</button></form>
<li onclick='procesar();'>Hola</li>
<?php endif ?>
<script type='text/javascript'>
    function procesar() {
        $.ajax({
            url: 'test.php',
            type: 'POST',
            success: function(response) {
                alert(response);
            }
        });
    }
</script>
Cuando el servidor recibe una petición POST de prueba.php (ya sea mediante el envio normal del formulario o via ajax), llama al ejecutable PHP quien genera un documento HTML:

Código:
<script type='text/javascript' src='jquery-3.1.0.min.js'></script>
<script type='text/javascript'>
	$(document).ready(function() {
		alert("Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko");
	});
</script>
<script type='text/javascript'>
	function procesar() {
		$.ajax({
			url: 'test.php',
			type: 'POST',
			success: function(response) {
				alert(response);
			}
		});
	}
</script>
que el servidor devuelve al cliente.

Ahora bien, cuando la petición se hace via el formulario, el navegador recibe el documento generado, lo presenta en pantalla y ejecuta el código javascript que contenga.

Pero, si la petición se hace via ajax, el documento generado no se procesa de ninguna forma, simplemente se recibe como texto (lo cual se corrobora con el alert(response)) y ya tendría que ser el código del manejador success el encargado de procesarlo (algo, por cierto, poco recomendable)

LineComment Saludos
Responder Con Cita
  #3  
Antiguo 10-08-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Que hariamos sin el codigo spaguetti de PHP!

Si puedes, te recomiendo que uses algún framework que organize la manera de programar en PHP (quienes usen PHP podrian recomendar) porque hacer spaguetti en HTML, en PHP y en JS todo a la vez se vuelve rapidamente engorroso.

------

Lo mas basico es que en el metodo de AJAX de Jquery no recibes los errores, solo asumes que siempre tendra exito. Conecta el evento de error pa que sepas que es lo que pasa.

Segundo, AJAX es ppalmente para pasar DATOS, no HTML. Eso significa que debes separar la llamada que devuelve HTML de la que devuelve DATOS para ajax. Luego debes reemplazar el DOM en el cliente con los datos nuevos.
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 10-08-2016
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Gracias Ñuño, Roman y mamcx.

mamcx, me podrías aclara esto con un ejemplo:
Cita:
Significa que debes separar la llamada que devuelve HTML de la que devuelve DATOS para ajax. Luego debes reemplazar el DOM en el cliente con los datos nuevos.
Un saludo
Responder Con Cita
  #5  
Antiguo 10-08-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Basicamente, en vez de devolver HTML devuelve un JSON (o similar).
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 11-08-2016
Parsec Parsec is offline
Miembro
 
Registrado: abr 2006
Posts: 143
Poder: 19
Parsec Va por buen camino
Gracias por contestar mamcx pero sigo sin entenderlo, primero dices:
Cita:
separar la llamada que devuelve HTML de la que devuelve DATOS para ajax
y luego:
Cita:
en vez de devolver HTML devuelve un JSON
.

¿Hay que separar o hay que cambiar?, si pudieses poner un ejemplo con mi código (copiado más arriba) te lo agradecería.

Un saludo
Responder Con Cita
  #7  
Antiguo 11-08-2016
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
No manejo PHP, pero es tan simple como:

Cita:

funcion RetornoAjax:
...
...
return AJson()

funcion RetornoHTML:
...
...
return AHTML()
Y llamas de acuerdo a la necesidad.
__________________
El malabarista.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
obtener ip JAV Redes 2 13-03-2007 14:50:12
Obtener lo usuarios del PC Reinery C++ Builder 0 12-12-2006 19:43:31
Obtener los valores de un .doc zugazua2001 Varios 1 21-05-2006 17:38:15
Obtener mi ip de la PC jam888 Varios 3 06-04-2005 21:32:33
obtener el dia,mes y año noe Firebird e Interbase 3 17-02-2005 07:49:22


La franja horaria es GMT +2. Ahora son las 14:19:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi