好记性不如烂笔头;
据说的ajax提交比表单提交要好,可以不用重新刷新页面;
表单提交:MTV模式
# 局部禁用csrf保护
显示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/hello/csrf/" method="post">
{# {% csrf_token %}#}
用户名:<input type="text" name="username"> <br>
<input type="submit">
</form>
</body>
</html>
运行python manage.py runserver,输入地址:
![v2-abb35c16d57f003fcc7df7bb50010d51_b.jpg](http://img-03.proxy.5ce.com/view/image?&type=2&guid=f172bc85-1830-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-abb35c16d57f003fcc7df7bb50010d51_b.jpg)
ajax提交,参照教程;
def handle_ajax(request):
print(1111)
if request.is_ajax():
return JsonResponse({"code":0,'msg':"登录成功"})
print(2222)
return render(request,"ajax1.html")
<form method="POST" action="">
{% csrf_token %}
<input id="username" type="text" name="username" />
{# <input type="submit" value="提交"/>#}
<a onclick="submitForm();">Ajax提交</a>
</form>
<script src="https://cdn.bootcss.com/jquery/1.12.1/jquery.min.js"></script>
<script>
function submitForm(){
var csrf = $('input[name="csrfmiddlewaretoken"]').val();
console.log(csrf)
var user = $('#user').val();
$.ajax({
url: '/hello/ajax/',
type: 'POST',
data: { "user":user,'csrfmiddlewaretoken': csrf},
success:function(arg){
console.log(arg);
}
})
}
</script>
运行:无跳动提交
![v2-bc2c79774cb0e8bc838e57fa7ea33872_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=f172bc85-1830-eb11-8da9-e4434bdf6706&url=https://pic3.zhimg.com/v2-bc2c79774cb0e8bc838e57fa7ea33872_b.jpg)
![v2-e4dff9172b9f32d1311c2a8e2c92af4d_b.jpg](http://img-02.proxy.5ce.com/view/image?&type=2&guid=f172bc85-1830-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-e4dff9172b9f32d1311c2a8e2c92af4d_b.jpg)
<