2012-02-28 50 views
3

我已經安裝了節點驗證碼從的NodeJS以下鏈接模塊...nodejs - 如何使用節點驗證碼模塊?

https://github.com/napa3um/node-captcha

的例子在網站上給出的如下...

... 
var captcha = require('captcha'); 
... 
app.configure(function(){ 
... 
    app.use(app.router); 
    app.use(captcha('/captcha.jpg')); // url for captcha jpeg 
    app.use(express.static(__dirname + '/public')); 
... 

App對象用於表達,但我沒有使用快遞。

我一直試圖通過在「http.createServer」函數中調用「captcha('/ captcha.jpg')」來獲取驗證碼,但沒有任何事情發生。

我真的很困惑我如何使用這個模塊。

回答

3

管理編寫使用該模塊的腳本。

而且req.session.captcha =文本應在模塊的captcha.js被註釋掉文件,否則一個錯誤將被拋出。註釋掉代碼確實意味着它應該替換爲將驗證碼文本存儲到會話中的行。

var http = require('http'), url = require('url'), captcha = require('captcha'); 

http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/html'}); 

    var path = url.parse(req.url).pathname; 
    switch (path) { 
    case '/': 
     res.writeHead(200, {'Content-Type': 'text/html'}); 
     res.write('<img src="/captcha.jpg" />'); 
     res.end(); 
     break; 
    case '/captcha.jpg': 
     captcha('/captcha.jpg')(req, res, 'noCaptcha'); 
     break; 
} 
}).listen(8124, "127.0.0.1"); 
console.log('Server running at http://127.0.0.1:8124/'); 

noCaptcha = function() { 
    console.log('No captcha available'); 
};