从服务器的搜索栏中获取值?

我想从我的server.js页面中的html页面中获取用户从我的搜索表单中输入的值,但是不知道怎么做。我知道namevalue对会是cityCode=something,但不知道从那里开始该怎么做?

HTML。

      <form class="form-inline my-2 my-lg-0" id="form" action="/hotels" method="GET">
        <!-- location search bar -->
        <input
          class="form-control mr-sm-2"
          type="text"
          placeholder="Search Location"
          aria-label="Search"
          id="searchbar"
          name="cityCode"
        >
        <!-- end of location search bar-->

        <!-- start of location search button -->
        <button class="btn btn-outline-success my-2 my-sm-0" type="submit" id="searchbutton">
          Search
        </button>
        <!-- end of location search button-->
      </form>

server. js:

var express = require('express');
var app = express();
app.use(express.static('public'));
var Amadeus = require('amadeus');

app.set('view engine', 'ejs');
app.listen(8080);

app.get('/hotels', function(req, res){
    amadeus.shopping.hotelOffers.get({
    //'PAR' to be replaced by user input
        cityCode: 'PAR'
    }).then(function(response){
    var jsonData = JSON.parse(response.body);

    res.render('pages/onestar', {jsonData: JSON.stringify(jsonData.data[1].type)});

    }).catch(function(error){
      console.log(error.response); //=> The response object with (un)parsed data
      //console.log(error.response.request); //=> The details of the request made
      console.log(error.code); //=> A unique error code to identify the type of error
    });
});

解决方案:

因为你的表单使用的是方法 GET您的提交将发送 cityCode 作为查询参数。要在Express中访问这些参数,请使用 req.query:

app.get('/hotels', async function(req, res, next) {
  try {
    const response = await amadeus.shopping.hotelOffers.get({
      cityCode: req.query.cityCode
    });
    const jsonData = JSON.parse(response.body);
    res.render('pages/onestar', {jsonData: JSON.stringify(jsonData.data[1].type)});
  } catch (error) {
    console.log(error.response); //=> The response object with (un)parsed data
    //console.log(error.response.request); //=> The details of the request made
    console.log(error.code); //=> A unique error code to identify the type of error
    next(error);
  }
});

给TA打赏
共{{data.count}}人
人已打赏
解决方案

pip在windows的虚拟环境中全局安装包,而不是安装包。

2022-4-22 9:00:16

解决方案

如何在vim中通过命令向下滚动而不用方向键?

2022-4-22 10:08:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索