Ver Mensaje Individual
  #13  
Antiguo 09-08-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 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