Я пытаюсь получить информацию из моей базы данных PostGres для отображения на моем веб-интерфейсе.Я использую реагирование, axios для запросов http, узел с экспрессом для моего сервера, массовый для взаимодействия с базой данных на сервере.
Текущий запрос, так как он у меня, возвращает пустой массив.При выполнении того же запроса в pgAdmin, он возвращает правильную информацию (я вставлю строку в запрос вместо $ 1) часть.Я подозреваю, что проблема связана с принятием имени поиска в качестве параметра и применением его как $ 1 в запросе.
Вот мой http-запрос:
handleNameSearch = () => {
let name = this.state.searchName
axios.get('http://localhost:3003/api/getPerson?name=' + name).then(response => {
this.setState({
searchedNameResults: response.data
})
console.log(response)
})
}
Моя конечная точка всервер.Req.query.name содержит правильную информацию, поэтому я не думаю, что проблема до тех пор, пока не будет выполнен запрос.
app.get('/api/getPerson', (req, res) => {
const db = req.app.get('db');
console.log(name)
db.searchPeopleByName(req.query.name)
.then(people => {
console.log(people)
res.status(200).send(people)
})
.catch(err => res.status(500).send(console.log(err)))
})
Мой файл SQL-запроса.У меня есть таблица с именем people и столбец с именем name.
SELECT *
FROM people
WHERE name LIKE $1;