前端的代码: $('#capShow')获取验证码容器
$(document).ready(function() {
// try to get captcha
var getCcap = function() {
$.ajax({
type: "GET",
url: "/getCaptcha",
cache: false,
headers: {
Accept: "image/jpeg",
"Content-Type": "image/jpeg"
},
}).done(function(data) {
console.log(data);
$('#capShow').html(data);
}).fail(function() {
console.error('Fail to get captcha from server!')
});
};
getCcap();
$('#capShow').on('click', function() {
getCcap();
});
})
后端的代码:引用了ccap这个生成验证码的模块
var ccap = require("ccap")
exports.captcha = function(req, res) {
var arr = ccap.get();
var text = arr[0];
var buf = arr[1];
// fs.writeFile("cap.jpeg", buf, function(err) {
// if (err) {
// console.log("errro!");
// } else {
// console.log("保存成功!");
// }
// });
res.set('Content-Type', 'image/jpeg');
res.send(buf);
};
app.get('/getCaptcha', login.captcha);
以上是代码,上下文还是比较明确的,前端收到的data还是一大串buffer,设置了请求头。不知是什么问题,小弟刚开始写后端