Вот мой экспресс-код приложения
app.get('/books',function(req,res){
var {keyword} =req.query;
connection.query('SELECT * from books', function (error, results, fields) {
if (error) throw error;
for(let result of results){
if(result.title === keyword){
res.send(result);
}
}
});
});
и URL, который я запрашиваю: http: //......../books/keyword=intro.Где intro
- это пользовательский ввод.
Здесь я пытаюсь добиться ввода информации в HTML, чтобы взять эту информацию и отправить ее в мой API, чтобы он мог запрашивать мою БД и получать то, чтоя хочу.
Но я получаю ошибку 404, поэтому я думаю, что мой API настроен неправильно.
Есть ли лучший способ реализовать то, что я делаю?
keyword=intro
даже правильный способ запроса моей базы данных.
Мой HTML такой
<!DOCTYPE html>
</head>
<body>
<div id="data">
<input type="button" id="button" value="Click"/>
<input type="text" id="search" >
</div>
<div id="search">
</div>
<script>
document.getElementById('button').addEventListener('click',getUserInput);
function getUserInput(event){
var userInput = document.getElementById("search").value;
if(userInput !== ""){
httpGetAsync(userInput);
}
}
function httpGetAsync(searchTerm){
var theUrl = 'books?keyword=' + searchTerm;
const xhttp = new XMLHttpRequest();
xhttp.open("GET", theUrl, true); // true for asynchronous
xhttp.send(null);
xhttp.onreadystatechange = processRequest;
function processRequest() {
if (xhttp.readyState == XMLHttpRequest.DONE);
var result = JSON.parse(xhttp.response);
console.log(result);
}}
</script>
</body>