Django_ajax
1 简介
AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。
- 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;
- 异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。
2 特点
AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新;(这一特点给用户的感受是在不知不觉中完成请求和响应过程)
3 能向后端发送请求的方式
序号类型请求方式1浏览器地址栏直接输入urlget请求2a标签的href属性get请求3form表单action属性get请求和post请求4ajaxget请求和post请求4 ajax的使用
ps:作为后端人员,前期只需要学习jquery封装之后的版本就行(不需要学习原生的ajax,原生的复杂且项目中一般不用),所以在前端
页面使用ajax的时候需要先导入jquery!
4.1 jquery中ajax的使用方法
- jquery调用ajax的方法:
- 格式:$.ajax({});
- 参数:
- type:请求的方式get、post(小写)
- url:"" 请求的地址,不写默认为当前地址
- async:是否异步,默认为true表示异步
- data:发送到服务器的数据
- dataType:'json'预期服务器返回的数据类型为json格式
- contentType:设置请求头
- success:function(date){}; data是形参名,请求成功时调用此函数
- error:请求失败时调用此函数
复制代码 小案例:
需求:页面上有三个input框,在前两个框中输入数字 点击按钮 朝后端发送ajax请求,后端计算出结果 再返回给前端动态展示的到第三个input框中(整个过程页面不准有刷新,也不能在前端计算)
html部分- <body>
- <input type="text" id="d1">+
- <input type="text" id="d2">=
- <input type="text" id="d3"><br>
- <button id="btn">提交</button>
- </body>
复制代码 后端部分- def index(request):
- if request.method =='POST':
- u1 = request.POST.get('u1') #接收前端传来的数据
- u2 = request.POST.get('u2')
- u3 = int(u1)+int(u2) # 将数据进行相加
- return HttpResponse(u3) # 把结果返回给前面,注意这个用HttpResponse返回,如果是字典,则需要进行序列化
- # return JsonResponse(dict) # 直接把字典序列化,前端也无需在反序列化了!
- return render(request,'index.html') # 最后还需要返回原先的页面
复制代码 4.2ajax发送json格式数据和文件
详见:django中前后端传输数据的编码格式(contentType)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |