Ajax 即 Asynchronous Javascript and XML (异步 JavaScript 和 XML) 。运用在前端页面的技术,用于
向服务器发送异步请求。
传统请求:用户发送请求 -> 服务器会接收请求并处理请求 -> 返回响应结果(HttpResponse('注册成
功')/render())-> 显现在前端页面(浏览器中) -- 之前整个页面的内容会被替换掉
AJAX 请求最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
实例:光标离开判断用户名是否合法
- templates发送js请求(get请求)
function check() {
var username = document.getElementById("username").value
xhr.open('get', '/day01/checkname/?username=' + username, true)
xhr.send();
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 && xhr.status == 200) {
var msg = xhr.responseText;
if(msg=="用户名合法"){
document.getElementById("msg").innerHTML="<img width='15px' src='{% static "right_3.jpg" %}'/>"
}
}
}
}
- views检查name是否存在
def checkname(request):
username = request.GET.get("username")
print("name=",username)
user = User.objects.filter(username=username)
if user:
return HttpResponse("用户名已存在")
if username.strip()=="":
return HttpResponse("用户名不合法")
return HttpResponse("用户名合法")
- 配置urls映射完成请求
post请求
xhr.open("POST",url,true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send("name=Henry&password=123456"); # 在send方法中传参
xhr.setRequestHeader("X-CSRFToken", '{{ csrf_token }}');
网友评论