Как разрешить ввод в пути без? Поиск в NODEjs? - PullRequest
0 голосов
/ 22 апреля 2020

Здравствуйте, я выполняю NodeJS практикум, и я хотел бы, чтобы входные данные отображались в URL как (веб-сайт) .com / results / NameOfCountry, где NameOfCountry - это переменная, содержащая вводимые пользователем данные. Я не знаю, как это сделать после попытки path.dirname (), что я не считаю правильным.

Каждый раз, когда я ввожу название страны, будет отображаться ссылка, заканчивающаяся как / results? searchCountry = Америка, и я бы хотел избавиться от? searchCountry, потому что у правильного пути есть конец, например / results / America

Может ли кто-нибудь помочь мне с этим? Заранее спасибо.

Вот код NodeJS:

var express = require("express");
var haste = express();
var bp = require("body-parser");
var request = require("request");
 var mime=require('mime-types');

haste.set("view engine", "ejs");

haste.get("/", function(req, res){
    res.render("search");
})

haste.get("/results", function(req, res){
    var apple = "https://api.covid19api.com/total/country/" + query;
    var query = req.you.value;
    request(apple, function(error, response, require){
        if(!error && response.statusCode == 200){
            var data = JSON.parse();
            res.render("info", {data:data});
        }
    })
})



haste.listen(process.env.PORT || 3000, process.env.IP, function(){
    console.log("Server has started!");
});

На E JS вот как выглядит форма ввода:

<h1>
    Find Cases By Country:
</h1>
<form action="/results" method="GET">
    <input type="text" placeholder="enter country" class="you">
    <input type="submit">
</form>

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

Если я правильно понимаю, вы хотите использовать индивидуальный путь для каждого результата поиска вместо запросов. Вы можете добиться этого с помощью параметров в express.

Базовый c маршрут получения будет выглядеть следующим образом:

app.get("/results/:search", function(req, res){
    var parameter = req.params.search;
    //send your custom response here
}

Переменная параметра содержит то, что после / results / в виде строки

1 голос
/ 22 апреля 2020

Если вы имеете в виду параметры маршрута, то это что-то вроде

haste.get("/results/:NameOfCountry", function(req, res){ ....}

, где к параметрам маршрута / пути добавляется :. Тогда у вас есть доступ к :NameOfCounty для использования по мере необходимости через req.params

...