Как я могу разделить данные по сессиям / запросам - PullRequest
0 голосов
/ 25 июня 2019

Я занимаюсь поиском песен в качестве проекта, и все работает нормально, кроме случаев, когда я запускаю программу с 2 разных компьютеров, данные, отправленные на каждый компьютер, смешиваются с данными, отправленными на другой компьютер

Я пытался разделить пользователей с помощью переменных в сеансах, но эта переменная намного больше, чем максимальное значение, которое может содержать переменная сеанса. Я также попытался создать другой 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. Также подойдет любое другое решение.

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