Django基础之Ajax
一.简介
AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。即 使用Javascript语言与服务器进行数据的异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
AJAX 的..特点..
1.在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。提升用户体验感
2.异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求/
例子:局部刷新
HTML部分:
<body> {% csrf_token %} 用户名:<input type="text" name="username" id="username"><br> 密码: <input type="password" name="password" id="password"><br> <input type="button" value="提交" id="tj"><span id="dang"></span> </body> <script src="{% static '/jquery/jquery-3.4.1.js' %}"></script> <script> $("#tj").click(function () { var username=$('#username').val(); #获取用户输入的内容 var password=$('#password').val(); var csrf_data=$('[name=csrfmiddlewaretoken]').val(); #获取csrf机制为网页提供的值 $.ajax({ #ajax格式,向服务器提交数据 url:"{% url 'login' %}", #指定提交的路径 type:'post', #指定获取的方式 data:{ username:username, #data 将获取数据提交 password:password, csrfmiddlewaretoken:csrf_data }, success:function (response) { #提交成功后,response获得返回值 if(response==='abc123'){ alert('ok') }else{ $('#dang').text('输入的内容有误!') } } }) }) </script>
views视图部分:
def login(request): if request.method=='GET': return render(request,'login.html') else: username=request.POST.get('username') password=request.POST.get('password') print(username,password) return HttpResponse([username,password])
urls部分:
from app01 import views urlpatterns = [ url(r'^login/', views.login,name='login'), ]