1
、g-recaptcha-responseは常に何も返しません。これは、現時点では私のコードです:エクスプレスサーバー上のNode.js ReCaptcha検証
<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
あなたは 'body-parser'をパイプラインに持っていません。私はこれを答えとして掲示するだろうが、ここには何か間違いがある可能性がある。それでも、私はこれがボディ解析ミドルウェアの欠如であると確信しています。これがうまくいけばメモを書き留めて、私はこのコメントから答えを出すだろう。 –
@WiktorZychla実際にはボディパーサーがなかったので –
これは正しく動作していますかこれが正しい答えですか? –