实现跨域登录遇到的问题:无法设置session

今天在准备实现跨域登录,在后台/login路由中登录成功节点设置req.session.username = user.username,运行失败。

代码如下:

 1 // 跨域登录案例
 2 app.post('/login', (req, res) => {
 3     // 调用formidable下的IncomingForm构造函数创建表单解析实例化对象form
 4     var form = new formidable.IncomingForm();
 5     // 模拟数据库
 6     var obj = {
 7         username: 'canjia',
 8         password: 123456
 9     };
10     // 调用form下的parse()方法解析前端传的表单数据
11     form.parse(req, (err, fields, files) => {
12         const { username, password } = fields;
13         if (username == obj.username && password == obj.password) {
14             // 在ajax发送的请求的session对象中加入username属性
req.session.username = username; 15 res.send('登录成功'); 16 return; 17 } else { 18 res.send('用户名或者密码错误') 19 } 20 }) 21 })

 

前端报错:POST http://localhost:3002/login net::ERR_CONNECTION_RESET,

后端报错:

D:\WEB前端\案例\Ajax\server2\app.js:56
req.session.username = user.username;
^

ReferenceError: user is not defined
at form.parse (D:\WEB前端\案例\Ajax\server2\app.js:56:36)
at IncomingForm.<anonymous> (D:\WEB前端\案例\Ajax\node_modules\formidable\lib\incoming_form.js:107:9)
at IncomingForm.emit (events.js:182:13)
at IncomingForm._maybeEnd (D:\WEB前端\案例\Ajax\node_modules\formidable\lib\incoming_form.js:557:8)
at MultipartParser.parser.onEnd (D:\WEB前端\案例\Ajax\node_modules\formidable\lib\incoming_form.js:426:10)
at callback (D:\WEB前端\案例\Ajax\node_modules\formidable\lib\multipart_parser.js:102:31)
at MultipartParser.write (D:\WEB前端\案例\Ajax\node_modules\formidable\lib\multipart_parser.js:268:15)
at IncomingForm.write (D:\WEB前端\案例\Ajax\node_modules\formidable\lib\incoming_form.js:159:34)
at IncomingMessage.<anonymous> (D:\WEB前端\案例\Ajax\node_modules\formidable\lib\incoming_form.js:125:12)
at IncomingMessage.emit (events.js:182:13)
[nodemon] app crashed - waiting for file changes before starting...

 

经过百度后,发现问题是出在没有引入express下的session第三方模块

 

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...