1.前后端分离的跨域cookie的问题
我后端使用的node+express
最开始使用中间件设置下允许跨域
这下子前端可以通过ajax请求到后端的数据了1
2
3
4
5
6
7app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header('Access-Control-Allow-Headers', 'Content-Type');
next();
});
我以为这样就够了
后来发现前端无法携带后端set的cookie
此处一脸懵逼,一度怀疑我设置cookie的方法写错了,用cookies模块不行,用express自己的cookie也不行。
后来发现 原来是cookie无法跨域。
需要再添加一条 Access-Control-Allow-Credentials:true
表示允许跨域携带cookie,
并且要将Access-Control-Allow-Origin指定到具体的域,否则cookie不会带到客户端。
感觉这样设置麻烦。。。。。
于是在npm发现了一个专门跨域的包 cors1
2const cors = require('cors')
app.use(cors({credentials: true, origin: 'http://localhost:8080'}));
由于前端我用axios发送的ajax请求,所以还要设置下axios
withCredentials: true
允许携带凭证
这样就ok拉~
###2.async函数中foreach中嵌套异步操作(同步函数中使用foreach而且foreach中还包含异步请求,foreach不会等待异步执行完,才结束循环,而是直接循环玩调到foreach的下一段代码片段)
看不懂没关系,我只是做个记录,怕自己忘了,有时间写详细的!
1 | function sendWeatherInfo({time="0 * * * * *",Contact}) { |