Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

116
Vistas
obtener inserciones dobles incorrectas en la base de datos

Estoy usando fetch para enviar datos a un script PHP. El único problema es que primero inserta datos vacíos y luego los correctos. Estoy enviando una cadena JSON que luego se decodifica con PHP.

Probé el script con Postman y funciona bien allí.

Código Java-Script:

 async function uploadImage() { let url = "http://localhost/upload_image.php"; navigator.geolocation.getCurrentPosition(writePosition); let dataJSON = {"Koordinate_X":3, "Koordinate_Y":1, "Kategorie":1, "Bild":"Es klappt aus der App"}; fetch(url, { method: 'POST', // or 'PUT' /*headers: { 'Content-Type': 'application/json', }, REMOVED*/ body: JSON.stringify(dataJSON) }) };

Código HTML:

 <button on:click={uploadImage}>Upload</button>

Código PHP:

 <?php header('Access-Control-Allow-Origin: http://localhost:5173'); header('Access-Control-Allow-Headers: Content-Type, X-Auth-Token, Authorization, Origin'); header('Access-Control-Allow-Methods: POST, PUT'); $data = json_decode(file_get_contents('php://input'), true); print_r($data); //path to database file $database_path = $_SERVER["DOCUMENT_ROOT"] . "\WoIstMein.accdb"; //check file exist before we proceed if (!file_exists($database_path)) { die("Access database file not found !"); } //create a new PDO object $database = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$database_path;"); try{ $sql = 'INSERT INTO Gegenstaende (Koordinate_X, Koordinate_Y, Kategorie, Bild) VALUES (:koord_x,:koord_y,:kategorie,:bild);'; $statement = $database->prepare($sql); $result = $statement->execute(array('koord_x' => $data["Koordinate_X"],'koord_y' => $data["Koordinate_Y"],'kategorie' => $data["Kategorie"], 'bild' => $data["Bild"])); $database = null; }catch(PDOException $e){ echo $e->getMessage(); } ?>

EDITAR

Gracias a HB obtuve la respuesta. Revisé la información de la red y vi que mi aplicación estaba enviando dos solicitudes. Debido a la etiqueta de encabezados que envié en el comando fetch(). Así que fetch primero hizo una verificación previa para verificar las opciones y luego ejecutó el comando de publicación real. Entonces mi solución fue que eliminé los "encabezados" de fetch.

about 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda