节点req.body.item存在,但如果语句未触发

时间:2020-04-08 16:58:04

标签: javascript html node.js

我有一个引导表格:

  <form action="/users/dashboard" method="POST">
    <div class="form-row">
      <div class="col">
        <div class="input-group">
          <div class="input-group-prepend">
            <label for="beginDate" class="input-group-text" id="beginDateLabel">From</label>
          </div>
          <input type="date" name="beginDate" id="beginDate" aria-describedby="beginDateLabel">
        </div>
      </div>
      <div class="col">
        <div class="input-group">
          <div class="input-group-prepend">
            <label for="endDate" class="input-group-text" id="endDateLabel">To</label>
          </div>
          <input type="date" name="endDate" id="endDate" aria-describedby="endDateLabel">
        </div>
      </div>
      <div class="col">
        <button class="btn btn-secondary" type="submit">Go</button>
      </div>
    </div>
  </form>

在Node后端,我有一条if语句正在寻找这两个输入:

let beginDate = new Date();
beginDate.setMonth(beginDate.getMonth() - 5);
if (req.body.beginDate) {
  const dateArr = req.body.beginDate.split('-');
  beginDate = new Date(parseInt(dateArr[0]),parseInt(dateArr[1]) - 1, 01);
};

let endDate = new Date();
if (req.body.endDate) {
  const dateArr = req.body.endDate.split('-');
  endDate = new Date(parseInt(dateArr[0]),parseInt(dateArr[1] - 1), 01);
};

第一个if语句很好地捕获了req.body.beginDate,但是第二个语句被完全跳过,即使第二个输入确实具有值。在调试器中查看它会显示我的期望,字符串'2020-03-08'或所选的日期。

您知道为什么第二个if语句会被忽略吗?

0 个答案:

没有答案