Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2017, 03:01
PSPforever
 
Fecha de Ingreso: marzo-2008
Mensajes: 186
Antigüedad: 16 años, 1 mes
Puntos: 3
Exclamación Problema al hacer una petición PUT con JSON Server

Hola,

Estoy haciendo una pequeña App, utilizando JSON server ( https://github.com/typicode/json-server) de Node para el Backend y JS+ jQuery para el front y Tempo.js para las vistas.

El problema está en que cuando realizo una petición PUT para modificar un registro, no guarda los cambios en el json donde se almacenan los datos.

Pongo aquí el código del formulario y el JS que hace la llamada.

Código HTML:
Ver original
  1. <form id="edit-form" class="edit-form" data-template>
  2.                           <div class="form-group">
  3.                             <label for="recipient-name" class="control-label">Nombre:</label>
  4.                             <input type="text" class="form-control" id="nombre" value="{{nombre}}">
  5.                           </div>
  6.                           <div class="form-group">
  7.                             <label for="recipient-number" class="control-label">Número:</label>
  8.                             <input type="text" class="form-control" id="numero" value="{{numero}}">
  9.                           </div>
  10.                           <div class="form-group">
  11.                             <label for="recipient-number" class="control-label">Categoría:</label>
  12.                             <select class="form-control" id="categoria">
  13.                               <option value="amigos">Amigos</option>
  14.                               <option value="familia">Familia</option>
  15.                               <option value="ligues">Ligues</option>
  16.                               <option value="trabajo">Trabajo</option>
  17.                             </select>
  18.                           </div>
  19.                           <input type="hidden" value="{{id}}">
  20.                           <div class="modal-footer">
  21.                         <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
  22.                         <button type="button" class="btn btn-primary" data-action="update">Guardar</button>
  23.                       </div>
  24.                         </form>

Código Javascript:
Ver original
  1. var editRegister = (event) => {
  2.         event.preventDefault();
  3.         let idItem        = $("[type='hidden']").val();
  4.            
  5.             $.ajax({
  6.                 url: "http://localhost:3000/contactos/" + idItem,
  7.                 method: 'PUT',
  8.                 data: $("#edit-form").serialize(),
  9.                 contentType: 'application/json; charset=utf-8',
  10.                 success: function(data) {
  11.                     $("[data-dismiss]").trigger("click");
  12.                     console.log(data);
  13.                 },
  14.                 error: function(error) {
  15.                     console.log(error);
  16.                 }
  17.             });
  18.     }
  19.  
  20.     $("[data-action='update']").on("click", editRegister);

Espero que podáis ayudarme, un saludo.