Node.js 使用nodejs axios/fetch时,Flask会话不会持久化数据
我有一个server.js用于从flask服务器获取数据。我在flask应用程序中使用会话来保存用户登录信息。如果我用的是邮递员,一切都很完美。但是,使用server.js获取数据将导致每个请求的flask会话重置 例如,如果我登录并且登录()中打印的会话是Node.js 使用nodejs axios/fetch时,Flask会话不会持久化数据,node.js,express,flask,axios,Node.js,Express,Flask,Axios,我有一个server.js用于从flask服务器获取数据。我在flask应用程序中使用会话来保存用户登录信息。如果我用的是邮递员,一切都很完美。但是,使用server.js获取数据将导致每个请求的flask会话重置 例如,如果我登录并且登录()中打印的会话是。在调用user_info()之后,打印的会话立即变为空,打印内容为。似乎它会为每个请求创建一个新会话。有人能帮我解决这个问题吗?谢谢你的帮助 Server.js: const express = require('express'); co
。在调用user_info()之后,打印的会话立即变为空,打印内容为
。似乎它会为每个请求创建一个新会话。有人能帮我解决这个问题吗?谢谢你的帮助
Server.js:
const express = require('express');
const path = require('path');
const cors = require('cors');
const fetch = require('node-fetch');
const axios = require('axios');
const app = express();
const proxy = 'http://0.0.0.0:5000';
app.use(cors());
app.use(express.json());
app.use(express.static(path.join(__dirname, '.', 'build')));
app.get('/user', function(req,res) {
axios.get(proxy + '/user',{ withCredentials: true })
.then((response) => res.json(response.data));
});
app.post('/login', function(req,res) {
let body = req.body;
axios.post(proxy + '/login', body, { withCredentials: true })
.then((response) => res.json(response.data));
});
app.get('/*', (req, res) => {
res.sendFile(path.join(__dirname, '.', 'build', 'index.html'));
});
app.listen(8080);
app.py:
from flask import Flask, request, json, session, jsonify
from api import driver
from flask_cors import CORS
def create_app(db_url="init"):
app = Flask(__name__)
app.secret_key = "asfsdfsdfdsfsa"
app.SESSION_TYPE = 'filesystem'
driver = driver()
CORS(app)
@app.route('/login', methods=['POST'])
def sign_in():
request_data = json.loads(request.data)
ret = driver.login(request_data)
if ret["valid"]:
session["user"] = request_data["username"]
ret = jsonify(ret)
return ret
@app.route('/user', methods=['GET'])
def user_info():
ret = {"valid": False}
if "user" in session:
ret = driver.get_user_info(session["user"])
ret = jsonify(ret)
return ret
return app
迄今为止的尝试: