Я новичок, который несколько дней стучал головой об этой проблеме, с которой я по-настоящему застрял.
По сути, я просто хочу сделать запрос с использованием узла и экспресса. Объект будет создаваться динамически, но это мой жестко закодированный пример. myObj содержит массив, потому что я хочу сделать одну вставку в базу данных для каждого элемента позже на стороне сервера.
let myObj = {
id: 50,
damage_type: ["missing", "broken", "light"]
}
// Parse myObj to JSON string to be sent
let myjsonObj = JSON.stringify(myObj);
console.log(myjsonObj );
// {"poi":50,"damage_type":["missing","broken","light"]}
postDamage(myjsonObj )
function postDamage(damage) {
$.post({
type: 'POST',
url: '/damage',
data: damage
}).
done(function (damage) {
// Do things
}
router.post('/damage', (req, res) =>
{
let data = req.body;
console.log(data)
// This is what I get in the node terminal which is nonsense, I cannot work with
{ '{"id":50,"damage_type":["missing","broken","light"]}': '' }
I expect it to look like {"id":50,"damage_type":["missing","broken","light"]}
So I can loop through the damage_type creating new objects with this structure
createSQLfunction({id:50, damage_type:"missing"})
});
Если я не распишу строку myObj, терминал узла печатает
{poi:'50', 'damage_type[]: [ 'missing','broken','light']}
Откуда берется дополнительный []?!
Что я делаю не так, чтобы не отправлять массив внутри объекта на серверную часть?