如何按会话/请求分隔数据

时间:2019-06-24 21:32:51

标签: javascript python flask

我正在将歌曲搜索引擎作为一个项目进行,并且一切正常,除了当我从两台不同的计算机上运行程序时,发送到每台计算机的数据与发送到另一台计算机的数据混合在一起

我尝试用会话中的变量分隔用户,但该变量比会话变量可以容纳的最大值大得多。 我也尝试根据请求创建其他URL,但由于某种原因,它会发送404错误。

这是与python代码相关的

@app.route("/", methods=['GET','POST'])
def index():
    global str_request
    global search_done
    global songs
    global already_requested
    already_requested=False
    api_connection=connected_to_internet()
    print(api_connection)
    if api_connection:
        if request.method == 'POST':
            search_request = request.form.getlist('search[]')
            str_request=turn_list_to_str(search_request)
            str_request=str_request.replace(' ','%20')
            print ("/result/"+str_request)
            search_request=arrange_request(search_request)
            print(search_request)
            songs=[]
            data=search_api(search_request)
            search_done=False
            if data!=None:
                for hit in data:
                    songs.append(Song(hit['result']['full_title'],hit['result']['primary_artist']['name'],hit['result']['url'],hit['result']['song_art_image_thumbnail_url']))          
        return render_template('layout.html')
    else:
        return render_template('connection.html')


@app.route("/result/"+str_request)
def result():
    global songs
    return render_template("result.html",songs=songs)

这是与js代码相关的

    $(document).ready(function(){
      $("#search_button").click(function(){
        btn=document.getElementById("search_button");
        btn.disabled=true;
        var $loader = $("<div />");
        $loader.addClass('loader');
        $loader.appendTo("body");
        var search_result=arrangeTag();
        //post https://lyritag.xyz/
        $.post("http://localhost/",
        {
            "search":search_result
        },function(){
          //var user_request = '<%=Session["user_request"]%>';
          //alert(user_request);
            for(var i = 0; i < search_result.length; i++){
                console.log(search_result[i])
            }
          location.replace("/result/"+search_result);
        })
      });
    });

URL和结果的app.route都相同,但是返回404错误。 任何其他解决方案也都很好。

0 个答案:

没有答案