作为一个小小的项目,我创建了一个基于Django的Web应用程序。到目前为止,我已经使用基本的Javascript创建了我的网页。我可以成功从数据库中获取数据并通过Javascript创建AJAX POST请求。一切都在工作但是有些事情让我感到困扰:
每隔一秒POST请求需要相当长的时间才能到达服务器。例如:Request1在29ms后返回成功。 Request2需要(完全相同的任务!)超过300ms。这种情况继续下去并且是100%可复制的。我不知道这个问题的原因是什么。我希望有人可以猜出这个问题的根源是什么。
Image of "request-waterfall" from the developer tool.
二手代码:
//THIS IS THE POST REQUEST IN THE JS-SCRIPT (CLIENT-SIDE)
$.ajax({
type: "POST",
url: '/update_database',
data: {
"habit_name": habits[h].habit_name,
"meta_data": meta_data
},
success: function(result) {
update();
console.log('Successful');
}
});
POST请求的服务器端处理:
def update_database(request):
post_dict = dict(six.iterlists(request.POST))
habit_name = post_dict["habit_name"][0]
meta_data = post_dict["meta_data"][0]
change_meta_data(habit_name, meta_data)
data = {
"Habits": Habit.objects.all().values()
}
return JsonResponse(list(data["Habits"]), safe=False)
更新:只有在localhost上启动服务器时才会出现此问题。如果我在本地IP地址上运行服务器,它工作正常..