Сессия отсутствует в другом запросе - PullRequest
0 голосов
/ 02 октября 2019

Я использую колбу для создания API, но сеанс в запросах НЕТ, когда я запускаю это из HTML-файлов и отправляю данные с помощью jquery. Когда я отправляю с почтальоном, API работает нормально. Я использую метод first / signup и after / map в этом нет. Можешь мне помочь? Есть ли у вас идеи

import pymysql
from pymysql import install_as_MySQLdb
from flask import Flask, request, jsonify, session, g
from flask_session import Session
from flask_cors import CORS, cross_origin


app = Flask(__name__)
app.secret_key = b'_5#y2L"F4Q8z\n\xec]/'
app.config['SESSION_TYPE'] = 'filesystem'
cors = CORS(app,allow_headers='Content-Type')
app.config['PROPAGATE_EXCEPTIONS'] = False
Session(app)

db = pymysql.connect("localhost", "root", "", "thesis")

@app.route('/signUp', methods=['GET','POST'])
def signUp():
        #session.pop('userId', None)
        data = request.get_json()
        print(data)
        cursor = db.cursor()
        email = data['email']
        password = data['pass']
        fname=data['firstName']
        lname=data['lastName']
        cid=data['type']
        points="0"
        print(email)
        print(password)
        query = "SELECT * FROM users WHERE email=%s;"
        cursor.execute(query, email)
        rows = cursor.fetchall()
        print(len(rows))
        # print(rows[0])
        if len(rows) == 0:
            query = "INSERT INTO users(email,password,fname,lname,cid,points)VALUES(%s,%s,%s,%s,%s,%s);"
            cursor.execute(query, (email,password,fname,lname,int(cid),int(points)))
            db.commit()
            query = "SELECT * FROM users WHERE email=%s;"
            a=cursor.execute(query, email)
            print(a)
            rows = cursor.fetchall()
            print(rows[0])
            if len(rows) == 1:
                for results in rows:
                    session['userId']=str(results[0])
                    print(session['userId'])
                return jsonify(fname=fname, lname=lname,cid=cid)
            else:
                return jsonify(fname="", lname="")
        else:

            return jsonify(fname="", lname="")

@app.route('/map', methods=['POST','GET'])
@cross_origin(origin='*',headers=['Content-Type','Authorization'])
def map():
    print(session.get('userId'))
    data = request.get_json()
    print(data)
    cursor = db.cursor()
    lat= data['lat']
    lon = data['lon']
    query = "UPDATE users SET lon=%s, lat=%s WHERE uid=%s;"
    cursor.execute(query,(lon,lat,session.get('userId')))
    db.commit()
    return "hello"

if __name__ == "__main__":

    app.run(debug=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...