我正在尝试安装这个验证码插件,这是我到目前为止(直接来自他们的代码,只是调整到我的风格)
以下是验证码和我正在遵循的步骤:https://github.com/mirhampt/node-recaptcha
在我的router.js
文件中:
app.get('/account/verification/:token/', require('./views/account/verification/index').verifyHuman);
在我的/views/account/verification/index.js
文件中:
exports.verifyHuman = function(req, res, next){
var Recaptcha = require('recaptcha').Recaptcha;
var recaptchaKeys = req.app.config.recaptchaKeys;
var recaptcha = new Recaptcha(recaptchaKeys.publicKey, recaptchaKeys.privateKey);
console.log(recaptcha.toHTML()); //this returns a script tag with an iframe and stuff in it
res.render('account/verification/captcha', {
layout: false,
locals: {
recaptcha_form: recaptcha.toHTML()
}
});
};
然后我的/views/account/verification/captcha.jade
文件:
div#captcha
script(type='text/template', id='tmpl-captcha-verification')
form#captcha-verification
#{recaptcha_form}
button.btn.btn-primary.btn-captcha-verification(type='button') Check Captcha
我无法显示验证码脚本。它以未定义但以奇怪的方式出现。这是我的控制台中出现的内容:
<script type="text/template" id="tmpl-captcha-verification"><form id="captcha-verification"><undefined></undefined><button type="button" class="btn btn-primary btn-captcha-verification">Check Captcha</button></form></script>
我甚至可以尝试#{layout}
,我在控制台中看到了这个:
<script type="text/template" id="tmpl-captcha-verification"><form id="captcha-verification"><false></false><button type="button" class="btn btn-primary btn-captcha-verification">Check Captcha</button></form></script>
就像jade试图对其进行格式化,但其中一个主要问题是它未定义,当我/views/account/verification/index.js
文件中的变量console.log
不是时。
另请注意,如果我执行!= recaptcha_form
,则只显示html中的表单,如果此!= recaptcha_form
代码甚至不存在那样。
我在其他问题上搜索了这个答案,我仍然很困惑。任何帮助将不胜感激。感谢