我正在将歌曲搜索引擎作为一个项目进行,并且一切正常,除了当我从两台不同的计算机上运行程序时,发送到每台计算机的数据与发送到另一台计算机的数据混合在一起
我尝试用会话中的变量分隔用户,但该变量比会话变量可以容纳的最大值大得多。 我也尝试根据请求创建其他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错误。 任何其他解决方案也都很好。