AJAX即“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术),指的是一套综合了多项技术的浏览器端网页开发技术。Ajax的概念由杰西·詹姆士·贾瑞特所提出。
传统的Web应用允许用户端填写表单(form),当提交表单时就向网页服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML码往往是相同的。由于每次应用的沟通都需要向服务器发送请求,应用的回应时间依赖于服务器的回应时间。这导致了用户界面的回应比本机应用慢得多。
与此不同,AJAX应用可以仅向服务器发送并取回必须的数据,并在客户端采用JavaScript处理来自服务器的回应。因为在服务器和浏览器之间交换的数据大量减少,服务器回应更快了。同时,很多的处理工作可以在发出请求的客户端机器上完成,因此Web服务器的负荷也减少了。
1 向后端发送数据
路由urls:
path('ajax_test/', views.ajax_test),
视图函数:
defajax_test(request):if request.method == "GET":return render(request, 'ajax_test.html')else:
username= request.POST.get("username")
password= request.POST.get("password")print(username, password)
data= username + " " +passwordreturn HttpResponse(data)
模板页面
TitleAjax提交
$("#ajax_test").click(function() {
let user=$(".user").val();
let pwd=$(".pwd").val();
$.ajax({
url:"/ajax_test/",
type:"POST",
data: {
username: user, password: pwd,
csrfmiddlewaretoken: $("[name='csrfmiddlewaretoken']").val()
},
success:function(data) {
alert(data)
}
})
})
2 上传json数据
路由urls:
path('up_json/', views.up_json),
视图函数:
defup_json(request):importjson
data= json.loads(request.body.decode("utf-8"))print(data, type(data))return HttpResponse("提交成功")
模板页面
上传json数据