簡體   English   中英

nodejs ReferenceError:未定義oneTimeCode

[英]nodejs ReferenceError: oneTimeCode is not defined

我在嘗試解析(body-parser)一個http post響應時遇到了問題。 我想使用oneTimeCode作為變量並在服務器端評估該變量。 我收到以下錯誤: ReferenceError: oneTimeCode is not defined我缺少什么?

的NodeJS

var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var fs = require('fs');
var https = require('https');
var options = {
  key: fs.readFileSync('key.pem'),
  cert: fs.readFileSync('cert.pem'),
  rejectUnauthorized: false
};
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

app.use(bodyParser.urlencoded({ extended: true }));
app.post('/verify', function(request, response) {
  if (oneTimeCode == '123456') {
    response.sendFile('/home/ubuntu/index.html');
  } else {
    response.sendFile('/home/ubuntu/otp.html');
  }
 });
app.get('/', function(request, response){
    response.sendFile('/home/ubuntu/otp.html');
});
https.createServer(options,app).listen(443);

otp.html

<!DOCTYPE html>
<html>
<title>OTP</title>
<body>
<h1>OTP</h1>
<form action="https://1.2.3.4.com/verify" method="post" target="_blank">
  OTP <input type="text" name="oneTimeCode"><br>
  <input type="submit" value="Submit">
</form>

<p>Click on the submit button.</p>

</body>
</html>

oneTimeCode不會被聲明為全局變量,它將在request.body中可用。

你可以這樣得到它:

app.post('/verify', function(request, response) {
  var oneTimeCode = request.body.oneTimeCode; // Now you have your variable
  if (oneTimeCode == '123456') {
    response.sendFile('/home/ubuntu/index.html');
  } else {
    response.sendFile('/home/ubuntu/otp.html');
  }
 });

使用request.body.oneTimeCodebodyParser增強了request變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM