Creé un mapa de folleto y un evento que captura datos json:
map.on('pm:create', (e) => { var layer = e.layer; var shape = layer.toGeoJSON() var shape_for_db = JSON.stringify(shape); $('#dmodal').modal('show'); $.ajax({ type: "POST", url: "{{ url_for('maps.addohl') }}", contentType: "application/json", data: JSON.stringify({shape}), dataType: "json" }); }); Puedo GET estos datos con una ruta en un matraz como este:
@maps.route("/addohl", methods=['GET', 'POST']) def addohl(): form = OhlForm() data = request.get_json() Pero esto no es práctico, ya que tengo que abrir una nueva página (/addohl) para agregar datos. Por lo tanto, necesito usar modal. Con $('#dmodal').modal('show'); Me las arreglé para mostrar modal directamente sobre la página actual (mapa), pero estoy desconcertado sobre cómo dmodal POST caso de que ocurra un evento.
Aquí está el modal:
<div class="modal fade" id="dmodal" tabindex="-1" role="dialog" aria-labelledby="dmodall" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="dmodall">Add Data</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <form> <div class="form-group"> <label for="recipient-name" class="col-form-label">Name:</label> <input type="text" class="form-control" id="recipient-name"> </div> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Add Data</button> </div> </div> </div> </div>Cualquier ayuda para resolver esto es muy apreciada.