Nodejs - Req.body undefined в поставке с express - PullRequest
0 голосов
/ 13 июля 2020

при запросе запроса на размещение от ax ios в реакции и проверке req в бэкэнде, я получил его пустым, я использовал такую ​​функцию

Я искал несколько решений и обнаружил, что с помощью body- parser он будет работать, но в моем случае это не так, и никакая перестановка не работает

я уже использовал bodyparser перед маршрутизаторами

мои создание, удаление, чтение req работают нормально проблема Я сталкиваюсь только с запросом, я использую последнюю express топор bodyparser ios reactjs

пожалуйста, помогите мне

    console.log(JSON.stringify(brand)); here it is printing whole data 
    return fetch(`${API}/brand/${brandId}/${userId}`,{
        method:"PUT",
        headers:{
            Accept:"application/json",
            "Content-Type":"application/json",
            Authorization:`Bearer ${token}`,
        },
        body:JSON.stringify(brand),
    }).then(response=>{
        console.log(response);
        return response.json()
    }).catch(err=> console.log(err))
}


exports.updateBrand=(req,res)=>{
    console.log(req.body)//here it is printing {}
    const brand = req.brand;
    brand.name=req.body.name;
    brand.save((err,updatedbrand)=>{
        if(err){
            console.log(err)
            return res.status(400).json({
                error:"Failed to update"
            })
        }
        res.json(updatedbrand)
    })
}```
 

1 Ответ

0 голосов
/ 13 июля 2020

Полагаю, это вызвано тем, что вы не установили промежуточное ПО body-parser в приложении express. Как поясняется в express Документация по запросу

req.body Содержит пары ключ-значение данных, представленных в теле запроса. По умолчанию это undefined и заполняется, когда вы используете промежуточное программное обеспечение для синтаксического анализа тела, такое как body-parser и multer.

const bodyParser = require('body-parser');

const app = express();

// other settings goes here

app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
// and so on
...