我已经为演示日历站点创建了实验性备份功能,它使用以下Flask蓝图将calendar.json
和notepad.txt
文件复制到备份文件夹中:
import os, time, shutil
from flask import Blueprint
backup = Blueprint("backup", __name__)
@backup.route("/backup/create/", methods = ["GET"])
def backup_create():
# get the current time
current = time.strftime("%Y_%m_%d-%H:%M:%S")
# create the backup folder (if it doesn't exist)
if not os.path.isdir("./storage/backup/" + current):
os.makedirs("./storage/backup/" + current)
# create the copies
shutil.copyfile("./storage/calendar.json", "./storage/backup/" + current + "/calendar.json")
shutil.copyfile("./storage/notepad.txt", "./storage/backup/" + current + "/notepad.txt")
# return the name of the backup folder
return current, 200
然后我正在使用jQuery.get(..., ...)
方法将GET请求发送到/backup/create
,如下所示:
if(confirm("Are you sure you'd like to create a backup?")) {
$.get("/backup/create", function(time) {
alert("Files copied to the " + time + " folder.");
});
}
发送请求时,我在控制台上获得了以下xhr
输出:
我知道可以使用以下方法在我的GET请求中添加一个斜杠来摆脱第一个请求:
$.get("/backup/create/" ...
但是我想知道的是, 为什么 完成重定向所需的时间比返回请求的实际请求要花费更多的时间吗?
我尝试通过删除其他几个Ajax请求上的斜杠来复制此代码,并且得到了相同的结果。
甚至有一次重定向完成的重定向时间比实际请求多了43毫秒。
其他信息:
更新:在我为此感到沮丧之前,我想让所有人都知道,是的,我知道这只是几毫秒,而且没有用户会注意到,我只是好奇为什么要花更多的时间。
感谢您的帮助和建议。