AJAX简介(异步提交 局部刷新)
AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步的Javascript和XML”。通过使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。
AJAX不是新的编程语言,而是一种使用现有标准的新方法(比较装饰器)。
AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。(这一特点给用户的感受是在不知不觉中完成请求和响应过程)。
Ajax我们只学习jQuery封装之后的版本(不学原生的 原生的复杂并且在实际项目中也一般不用),所以我们在前端页面使用ajax的时候需要确保导入了jQuery。ps:并不只有jQuery能够实现ajax,其他的框架也可以。
朝服务端发送请求的方式
# 1、浏览器地址栏直接输入url回车 GET请求 # 2、a标签href属性 GET请求 # 3、form表单 GET请求/POST请求 # 4、ajax GET请求/POST请求
案例
页面上有三个input框 在前两个框中输入数字 点击按钮 朝后端发送ajax请求 后端计算出结果 再返回给前端动态展示的到第三个input框中 (整个过程页面不准有刷新,也不能在前端计算)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script> </head> <body> <input type="text" id="d1">+ <input type="text" id="d2">= <input type="text" id="d3"> <p> <button id="btn">点我</button> </p> <script> // 先给按钮绑定一个点击事件 $('#btn').click(function(){ // 超后端发送ajax请求 $.ajax({ // 1.指定朝那个后端发送ajax请求 url:'', // 不写就是朝当前地址提交 // 2.请求方式 type:'post', // 不指定默认就是get请求,都是小写 // 3.数据 {#data:{'username':'jiang','password':123},#} data:{'i1':$('#d1').val(),'i2':$('#d2').val()}, // 4.回调函数:当后端给你返回结果的时候会自动触发,args接收后端的返回结果 success:function (args) { alert(args) $('#d3').val(args) // 通过DOM操作动态渲染到第三个input框里面 {#$('#d3').val(args.outcome) #} console.log(typeof args) // js语法,查看args的数据类型 } }) }) </script> </body> </html>ab_ajax.html
from django.shortcuts import render,HttpResponse import json from django.http import JsonResponse def ab_ajax(request): if request.method == 'POST': print(request.POST) # <QueryDict: {'i1': ['1'], 'i2': ['2']}> i1 = request.POST.get('i1') # <class 'str'> i2 = request.POST.get('i2') # <class 'str'> # 先转成整形再相加 i3 = int(i1) + int(i2) d = {'code': i1, 'msg': i2, 'outcome':i3} # return HttpResponse(i3) # 前端args为string类型 # return HttpResponse(json.dumps(d)) # 前端args为string类型 return JsonResponse(d) # # 前端args为object类型(前端可以利用对象点属性来获取值) return render(request,'ab_ajax.html')views.py
标签:请求,i1,args,request,ajax,Django,Ajax,POST From: https://www.cnblogs.com/yuanxiaojiang/p/17205726.html