在我的快递服务器上,g-recaptcha-response总是不返回任何内容。这是我目前的代码:
<div class=container-fluid id=mcenter>
<form id='monitstart' action="/monitstart" method="POST">
<input type="text" class="form-control" aria-label="..." name=>
<button class="g-recaptcha" data-sitekey="SITEKEYHERE" data-callback="onSubmit"></button>
</form>
</div>
并在我的服务器上
var express = require('express')
var router = express.Router()
var request = require('request')
router.post('/monitstart', function (req, res) {
request({url: "https://www.google.com/recaptcha/api/siteverify?secret=SECRETHERE&response=" + req.body['g-recaptcha-response']} + '&remoteip=' + req.connection.remoteAddress, function (err, response, body) {
req.send(body)
})
})
module.exports = router
当我尝试验证它时,它会给我一个代码500并说TypeError: Cannot read property 'g-recaptcha-response' of undefined
答案 0 :(得分:0)
在问题下面的简短讨论中OP接受的正确答案涉及将正文解析中间件(body-parser
)添加到管道,以便请求对象的body
属性正确在从那里读取值之前初始化。