【问题标题】:Maintaining python flask sessions from an ajax call通过 ajax 调用维护 python 烧瓶会话
【发布时间】:2018-04-29 21:07:25
【问题描述】:

我在我的程序中使用烧瓶会话来维护所有动态信息。我已将我的服务托管在本地主机上。

from flask import Flask,make_response,render_template, request, jsonify,json,jsonify,send_from_directory,session
from flask.ext.cors import CORS, cross_origin
import requests


app = Flask(__name__)
app.secret_key='test'  
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'


@app.route('/getAnswer')    
@cross_origin() 
def getAnswer():
    userQuery = request.args.get("query") 


    session['username']="testuser"
    session['userid']="Utkj3YC"
    reply=askquestion(userQuery,session)
    print "giving response : ",str(reply)
    answer=str(reply)

    return jsonify(response=answer,id="1",status="suc",dialog="initial")

if __name__ == '__main__':
    app.run(host='0.0.0.0',processes=True,debug=True,port=8000)

这是我的烧瓶服务,当我从邮递员 restclient 测试它时,它工作正常。邮递员请求维护相同的会话变量。

问题是当我将此服务与我的 UI 集成时。每次 ajax 请求都会重置烧瓶会话变量,因此我无法维护会话。 我的ajax调用如下

$.ajax({
        url: "http://127.0.0.1:8000/getAnswer",
        method: 'GET',

        data: { query: query,dialog:dialog },
        success: function(data) { 


         var $chatBox = $('#botReplyDiv').clone().prop('id',"botdiv"+data.id);
         var $loading = $('.loader');
         $chatBox.css("display", "block");
         var ul  = document.createElement('ul');
         console.log(data.response);
         var resp=data.response;
         var li=document.createElement('li');
         li.appendChild(document.createTextNode(data.response));

         ul.appendChild(li);

         }
         });

我也尝试在 ajax 请求中添加它。

xhrFields: {
  withCredentials: true
  }

但问题仍然存在。每次在烧瓶中创建新会话时。但是当我使用 POSTMAN 执行相同的代码时,它会保持相同的会话。为了使 ajax 调用在每个请求中保留相同的会话,我必须做哪些更改?

【问题讨论】:

    标签: jquery python ajax session flask


    【解决方案1】:

    问题是我在客户端代码中使用了http://locahost:8000/getAnswer。我把它改成了http://127.0.0.1:8000/getAnswer,现在可以正常工作了。

    【讨论】:

      猜你喜欢
      • 2016-11-04
      • 2013-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-18
      • 2013-08-08
      • 1970-01-01
      相关资源
      最近更新 更多