Я отправляю запрос в мой API с помощью AdvancedFetch.Это работает, однако, я хочу знать, возможно ли отправить параметр без определения его в URL.Есть ли какие-нибудь умные способы сделать это?
Я пытался исследовать это, но я не уверен, что использую правильные ключевые слова для того, что я пытаюсь сделать.
Это гдеЯ выдвинул свой запрос (значение из модального поля ввода):
setNewUserName(userName) {
this.setState({newUserName: userName});
advancedFetch('/api/users', {
method: 'POST',
body: JSON.stringify({}),
credentials: 'include',
// I've tried sending the param here
userName: userName,
headers: {
'Content-Type': 'application/json'
}
})
.then(() => {
this.loadUsers();
})
.catch(err => {
//error handling
});
}
В моем контроллере я определил маршрут и реализовал такую функцию:
index.create = (req, res, next) => {
let userName = req.params.userName;
console.log(userName);
user
.create(userName)
.then((response) => {
res.send(response);
})
.catch((err) => {
next(err);
});
};
router.post('/users', index.create);
И затем вmy service.js Я записываю данные в свою базу данных:
create: function(userName){
userName = userName
return query(`INSERT INTO ${tableName} (user) VALUES (?, ?)`, [1, userName])
.catch(err => {
app.logger.error('[Users] failed to create a user', err.message);
return Promise.reject(new Error('failed to create user'));
});
},
Я всегда получаю неопределенное имя пользователя, нужно ли создавать маршрут со значением в конце?