Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Llamar a un método desde la vista PHP (mvc)

Estas en el tema de Llamar a un método desde la vista PHP (mvc) en el foro de PHP en Foros del Web. Hola chic@s !! necesito de vuestra sabiduria. He montado un mini framework mvc, lo estoy aplicando en el trabajo,, ya que en los proyectos personales ...
  #1 (permalink)  
Antiguo 06/05/2018, 04:24
 
Fecha de Ingreso: marzo-2016
Mensajes: 17
Antigüedad: 8 años, 1 mes
Puntos: 0
Llamar a un método desde la vista PHP (mvc)

Hola chic@s !! necesito de vuestra sabiduria.

He montado un mini framework mvc, lo estoy aplicando en el trabajo,, ya que en los proyectos personales uso laravel, pero en el trabajo no nos dejan usarlo, a parte tenemos capado la salida a internet.

Normalmente lo que hago en el trabajo es tener un archivo PHP que a traves de Jquery paso parametros y me devuelve la operacion en el div que le indique. pero quiero hacerlo en MVC llamando a un metodo del controlador.

PD: he de decir que la estructura de directorio y conjuncion de los archivos esta ok, lo unico que me falta es pasar datos a de la vista al controlador o ejecutar un metodo como es elcaso.


Os pongo el .htaccess por se necesita modificar o añadir algo

Código:
Options -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

El controlador Map

Código:
class MapController {

    public function index() {

        require_once "view/map/index.php";

    }

    public function prueba(){
    	echo "Ejecuto el metodo";
    }
}

El codigo con el que estoy intentado acceder

Código:
<script>
	        $(document).ready(function() {

	            var provincia;

	            $("area").click(function() {

	                provincia = $(this).attr('ciudad');

	                $.ajax({
				        url: "<?php echo CONTROLLER_PATH . 'MapController/prueba' ?>",
				        type: "post",
				        data: provincia,
				        success: function(data){
				           $("#show-data").val(data);
				        }
				    });

	            });

	        });
	    </script>

Un Beso a tod@s
  #2 (permalink)  
Antiguo 06/05/2018, 04:50
 
Fecha de Ingreso: marzo-2016
Mensajes: 17
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Llamar a un método desde la vista PHP (mvc)

Os muestro como lo hacía anteriormente:

lo que ahora es la vista

Código:
<script>
	        $(document).ready(function() {

	            var provincia;

	            $("area").click(function() {
	                
	                provincia = $(this).attr('ciudad');

	                $.post("view/map/getData.php",{provincia:provincia}, function(data){
	                   $("#mostrar_datos").html(data);
	                });

	            });

	        });
	    </script>
y en el archivo que fuera, en este caso getData

Código:
<?php

	$provincia = $_REQUEST['provincia'];

	echo '<pre>';
	echo $provincia;
	echo'</pre>';


?>
Pero al final tenia varios archivos como módulos adicionales para cálculos.

En otras ocasiones pasaba una variable que se llamaba {acción} y ejecutaba la función que fuera de ese archivo.
  #3 (permalink)  
Antiguo 06/05/2018, 10:16
 
Fecha de Ingreso: marzo-2016
Mensajes: 17
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Llamar a un método desde la vista PHP (mvc)

Ya he dado con la solución, no hay muchas modificaciones.



Código:
<script>
	        $(document).ready(function() {


	            $("area").click(function() {
	                
	                var param1 = $(this).attr('ciudad');

	                $.ajax({
		                data:  {'param1' : param1},
		                url:   'MapController/getDataMap',
		                type:  'POST',
		                beforeSend: function () {
		                        $("#resultado").html("Procesando, espere por favor...");
		                },
		                success:  function (response) { //una vez que el archivo recibe el request lo procesa y lo devuelve
		                        $("#resultado").html(response);
		                }
			        });

	            });

	        });
	    </script>

Etiquetas: query, vista
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:07.