Bonjour à tout le monde
Donc voilà je vous explique le soucis, j’ai fais un server tout simple avec nodejs. Sur ce serveur, j’envoi une requête POST par l’intermédiaire de fetch, ensuite je récupère les données transmises.
Et c’est là ou j’ai un soucis, je n’arrive pas à parse le résultat, je l’obtiens en chaîne de caractère
(string) > {"username":"feferger","password":"feferger"}
mais au moment de JSON.parse cette chaîne, j’ai cette erreur : SyntaxError: Unexpected end of JSON input
Je vais vous mettre le code pour plus de clarté.
Cette partie de code est la partie client
var info_json = {
"username":username,
"password":password
}
//on envoi les data au serveur
const fetch_login = fetch('URL', {
method: 'POST',
body: JSON.stringify(info_json), // The data
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST',
'Content-type': 'application/json'
}
}).then(function(response) {
return response.json();
}).then(function(data) {
var userid = JSON.parse(data);
console.log(userid);
})
Cette partie de cote et la partie serveur
const fs = require("fs");
const http = require("http");
const routing = [
"/auth/login"
];
const server = http.createServer(async function (req, res) {
// Parse the request url
const reqUrl = url.parse(req.url).pathname
//AUTH
if(reqUrl == "/auth/login") {
let data = [];
req.on("data", d => {
data.push(d)
}).on("end", () => {
let data_ = Buffer.concat(data).toString();
console.log("data")
console.log(data_)
console.log(typeof(data_))
//ce typeof me renvoi un string
var parsed = JSON.parse(data_);
//ici je veux parse ce string pour avoir un object mais à ce moment là j'ai une erreur
console.log(parsed)
res.statusCode = 201
res.end(JSON.stringify(data_))
}).on('error', err => {
//This prints the error message and stack trace to `stderr`.
console.error(err.stack);
});;
}
})
// Have the server listen on port 3000
server.listen(3000)
J’ai l’impression que le soucis vient de la variable data_ mais je ne comprend pas pourquoi. J’ai regarder un peu la doc mais je ne vois rien qui pourrait résoudre le problème…hélas.
Merci de m’avoir lu