Ошибка извлечения API: ошибка синтаксиса: неожиданный конец ввода JSON - PullRequest
0 голосов
/ 19 октября 2019

Я работаю над этим API, и по любой причине он возвращает мне сообщение об ошибке:

SyntaxError: Неожиданный конец ввода JSON.

Я выполняю MySQL-соединениездесь все в порядке, но проблема возникает, когда я пытаюсь сделать запрос POST. Моя база данных MySQL работает на 100%.

API КОДА

var express = require('express');
var router = express.Router();
var mysql = require('mysql');

router.post("/postPersona", MiddlewareMultipart, (req, res, next) => {
    //console.log("." + req.files.Src.path.split("public")[1]);
    //console.log(req.body);

    var query = 'CALL addPersonas(?,?,?,?,?,?)';
    var imgPath = "." + req.files.Src.path.split("public")[1];

    var datos =
        [
            req.body.Nombre,
            req.body.Telefono,
            req.body.Curp,
            req.body.ECivil,
            Number(req.body.Edad),
            imgPath
        ]

    conn.query(query, datos, (err, results, fields) => {
        if (err) {
            console.log("Error" + err);
            res.send(JSON.stringify("Error: " + err));
        }
        else {
            console.log(results);
            res.send(JSON.stringify(results[0]));
        }
    });
});

FRONT END JS

var Agregar = () => {
    var formData = new FormData();
    formData.append("Nombre", NomSrc.value);
    formData.append("Telefono", TelSrc.value);
    formData.append("Curp", CurpSrc.value);
    formData.append("ECivil", EstCSrc);
    formData.append("Edad", EdadSrc.value);
    formData.append("Src", ImgSrc.files[0]);

    var url = "http://localhost:3000/apiMYSQL/postPersona";

    fetch(url, {
        method: "POST",
        body: formData
    })
        .then((response) => {
            return response.json();
        })
        .then((data) => {
            console.log(data);
            alert(data);
        })
        .catch((error) => {
            console.log("Error: " + error);
        })
}

Console.log (результат)

OkPacket { 
    fieldCount: 0, 
    affectedRows: 1,
     insertId: 0, 
     serverStatus: 2, 
     warningCount: 0, 
     message: '', 
     protocol41: true, 
     changedRows: 0 
    } 

1 Ответ

0 голосов
/ 19 октября 2019

попробуйте использовать json вместо send, поэтому измените следующее:

res.send(JSON.stringify(results[0]));

на:

res.send({ results });

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...