django里的ajax

打印 上一主题 下一主题

主题 641|帖子 641|积分 1923

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的使用方法
  1. jquery调用ajax的方法:
  2.     格式:$.ajax({});
  3.         参数:
  4.             type:请求的方式get、post(小写)
  5.             url:"" 请求的地址,不写默认为当前地址
  6.             async:是否异步,默认为true表示异步
  7.             data:发送到服务器的数据
  8.             dataType:'json'预期服务器返回的数据类型为json格式
  9.             contentType:设置请求头
  10.             success:function(date){}; data是形参名,请求成功时调用此函数
  11.             error:请求失败时调用此函数
复制代码
小案例:
需求:页面上有三个input框,在前两个框中输入数字 点击按钮 朝后端发送ajax请求,后端计算出结果 再返回给前端动态展示的到第三个input框中(整个过程页面不准有刷新,也不能在前端计算)
html部分
  1. <body>
  2. <input type="text" id="d1">+
  3. <input type="text" id="d2">=
  4. <input type="text" id="d3"><br>
  5. <button id="btn">提交</button>
  6. </body>
复制代码
后端部分
  1. def index(request):
  2.     if request.method =='POST':
  3.         u1 = request.POST.get('u1') #接收前端传来的数据
  4.         u2 = request.POST.get('u2')
  5.         u3 = int(u1)+int(u2) # 将数据进行相加
  6.         return HttpResponse(u3)  # 把结果返回给前面,注意这个用HttpResponse返回,如果是字典,则需要进行序列化
  7.       # return JsonResponse(dict) # 直接把字典序列化,前端也无需在反序列化了!
  8.     return render(request,'index.html')  # 最后还需要返回原先的页面
复制代码
4.2ajax发送json格式数据和文件

详见:django中前后端传输数据的编码格式(contentType)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

钜形不锈钢水箱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表