Я разрабатываю как веб-интерфейс, так и веб-приложение.Для этого я использовал технологии Mongo, Express, реагировать и ноды.Я разрабатываю API для get, post, put и проверяю его с помощью postmon.Оно работает !Но когда я подключаю его к интерфейсу, мой метод get не работает.Этот метод get означает получение определенного объекта.
Это мой метод получения API,
// get a book by id
book_route.route('/:id').get(function (req, res) {
let id = req.params.id;
Book.findById(id, function (err, book){
if(err){
console.log(err);
}
else {
res.json(book);
}
});
});
Обратите внимание, что это работает через postmon, например, этот один полученный объект имеет свой идентификатор.
http://localhost:4000/book/5cbcc159e4db244de040e854
Полученследующий объект JSON.
{
"_id": "5cbcc159e4db244de040e854",
"title": "Miracles from heaven",
"isbn_no": "439564969",
"author": "Jense Bend",
"published_year": 2015,
"no_of_copies": 34,
"public_or_rare": "",
"__v": 0
}
Я хочу загрузить значения объекта выше JSON в мои элементы формы.Поэтому я попробовал это на веб-интерфейсе, как показано ниже,
componentDidMount() {
axios.get('http://localhost:4000/book/'+this.props.match.params.id)
//axios.get('http://localhost:4000/book/5cbcc159e4db244de040e854')
.then(response => {
// console.log(this.props.match.params.id);
this.setState({
title: response.data.title,
isbn_no: response.data.isbn_no,
author: response.data.author,
published_year: response.data.published_year,
no_of_copies: response.data.no_of_copies,
public_or_rare: response.data.public_or_rare
});
})
.catch(function (error) {
console.log(error);
})
}
Примечание. Чтобы проверить это, я комментирую первую строку и не комментирую axios.get('http://localhost:4000/book/5cbcc159e4db244de040e854')
эту строку.Он показывает элементы формы со значениями.
Однако эта строка не работает, axios.get('http://localhost:4000/book/'+this.props.match.params.id)
Наконец, я хочу загрузить значения в мою форму.Я закодировал другие функции onchange в интерфейсе.Обратите внимание, что они были правильно отображены, когда я включил эту строку axios.get('http://localhost:4000/book/5cbcc159e4db244de040e854')
Что-то здесь не так, пожалуйста, ребята, помогите мне разобраться в этом.