Node中验证码验证问题,初学者请教~
发布于 21天前 作者 Xarrow 145 次浏览 来自 问答

用的 ccap生成验证码,通过验证码来验证用户注册,其中 ccap.js 代码如下:

module.exports = function(req, res) {
    var ccap = require('ccap');//Instantiated ccap class
    var captcha = ccap();
    var ary = captcha.get();
    var txt = ary[0];
    var buf = ary[1];
    res.end(buf);
    console.log(txt);
};

app.js中

var ccap = require("../routes/ccap");
app.get("/ccap",ccap);

其中,buf为验证码图像,txt为字符串,通过views/reg.ejs中<img src="/ccap"/>来显示图片验证码, 在useradd.js后台处理中为了验证用户输入的验证码是否与生成的验证码是否一致,需要调用ccap.js中的txt值。

###那么问题来了,txt值怎么样传到adduser.js 中呢? 这个问题应该涉及到node中模块调用的问题,所以我参考了Node.js中exports与module.exports的区别 capp.js 改成这样

module.exports = function(req, res) {
    var ccap = require('ccap');//Instantiated ccap class
    var captcha = ccap();
    var ary = captcha.get();
    var txt = ary[0];
    var buf = ary[1];
    res.end(buf);
    this.test = function (){
        return txt;
    }
};

以此来调用其中的test(),结果可以调用,但报错Cannot read property 'end' of undefined

初学者,请教,该如何传递这个txt

2 回复

估计是res.end(buf);这个方法不存在,如果用EXPRESS 4的话 用res.send()

@tw234tw 我现在用session解决~

回到顶部