intento crear datos con vue js, pero el backend no puede leer los datos y simplemente envía "indefinido" a la base de datos, intento crear datos con cartero, el backend puede leer los datos,
veo los datos capturados en el backend, resulta que hay una diferencia entre los datos enviados por vue js y los datos enviados por el cartero
aquí están los datos enviados por cartero
[Object: null prototype] { name: '6', email: '5', password: '3' }y aquí están los datos enviados por vue js
[Object: null prototype] { '{"name":"2","email":"2","password":"2"}': '' }aquí está el script en vue js
<script> import axios from "axios"; export default { name: 'AddUser', data(){ return { model: { name: '', email: '', id_status: '', password: '', } }; }, methods: { async saveUser(){ try{ const response = await axios.post('http://localhost:8000/users',this.model); res.data.headers['Content-Type']; console.log(response); } catch (err){ console.log(err); } } }, }; </script>y aquí está el script en el nodo js como backend
if(q.pathname == "/users" && req.method == "POST"){ var body = ''; req.on('data', function(data){ body += data; if(body.length > 1e6) req.connection.destroy(); }); req.on('end', function(){ var postData = qs.parse(body); let name = postData.name; let email = postData.email; let id_status = postData.id_status; let password = postData.password; let sql = `insert into users (name,email,id_status,password) values ('${name}','${email}','${id_status}','${password}')` console.log(postData) db.query(sql,(err, result) => { if (err) throw err; if(result.affectedRows == 1){ res.end(JSON.stringify({message: 'success'})); }else{ res.end(JSON.stringify({message: 'failed'})); } }); });el problema esta solucionado, solo cambio
var postData = qs.parse(body);a
var postData = JSON.parse(body);gracias por ayudar