entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Buenos Días, estoy implementando los métodos de modificación de contenido ADD,UPDATE,DELETE pero cuando paso datos con JQuery para hacer las pruebas no me envía ningún dato o me da error en otras ocasiones.
HTML y JS:

<div class="container">
    <div class="row">
        <div class="col-lg-6 col-md-6"></div>
        <div class="col-lg-6 col-md-6">
            <br></br>
             <button class="btn btn-primary" onclick="enviar()">Enviar</button>         
        </div>
        <div class="col-lg-6 col-md-6"></div>
    </div>
</div>
<script type="text/javascript" src="../assets/vendor/jquery/dist/jquery.min.js"></script>
<script type="text/javascript">
            function enviar(){
                // Funcion experimental para trabajar métodos                                          

                $.ajax({
                    type: "POST",
                    url: "<?php echo base_url();?>api/secc/add/API-RSC/<?php echo $token;?>",
                    data: { name: "Nueva", idioma: "español" },
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data, status, jqXHR) {
                        console.log(data);
                        },
                    error: function (jqXHR, status) {           
                        console.log(status);
                        }
                });                
            }
</script>

y en php:

function add_post(){ # Inserta una nueva Sección   
        $data = array('returned: '. $this->post('name'));
        $this->response($data);      

    }

aunque me gustaría hacer los métodos utilizando PUT,ADD y DELETE en vez de hacerlo todo con post
Saludo Atentamente Dairon

1 Respuesta

2votos

Leonardo-Tadei Puntos227320

Hola Dairón,

me parece que estás mezclando conceptos...

En el protocolo HTTP(S), las peticiones pueder ser GET, POST, DELETE y PUT, y en la práctica PUT y DELETE no se usan.

Por otra parte, una API REST(Ful) debe implementar mecanismos para las acciones de Alta, Baja, Modificación, Listado (lista y elemento), que no concuerdan con las acciones implementadas por HTTP, que no tiene un mecanismo para descubrir elementos.

Por esto verás que la mayoría de los servicios RESTful van a transmitir todo por POST, pero dependiendo de a quién llamen o de qué parámetro envíen, harás las tareas de Alta, Baja, Modificación, Listado (lista y elemento)

Esto se refuerza además porque los lenguajes del lado del servidor saben distinguir bien peticiones GET y POST, pero no suelen tener mecanismos para descubrir PUT y DELETE ... lo que hace que al final llames a diferentes scripts según la tarea o en caso de llamar a un solo script, distinguir por los parámetros qué acción ejecutar (porque de todas formas, vas a tener que hacer algo así para implementar el lsitado de colecciones y elementos).

Saludos cordiales!

0voto

dairon comentado

Maestro estoy trabajando ne localhost, estoy usando ahora todos los metodos como get hasta lograr trabajar con post y me funcionan bien

0voto

Leonardo-Tadei comentado

Me alegra,

cuál era el problema? Cómo lo solucionaste?

0voto

dairon comentado

Maestro, solo cambie el resource de post a get y todo salió bien, el problema continúa existiendo y es con el post pero mientras sigo buscando la solución voy implementando con get y cuando lo resuelva cambio los verbos y ya ta ;)
Saludos Dairon

0voto

Leonardo-Tadei comentado

Entonces, el problema debe ser que estás asumiendo que las llamadas son GET, y cuando se envían POST no las estás leyendo...

0voto

dairon comentado

Maestro yo pasaba post y pedia post, entrava el programa al metodo y no daba ningun tipo de error pero tampoco cogia los datos entrados por parámetros.
Saludos

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta