JSON

  • JSON指的是JavaScript对象方法(JavaScript Object Notation)
  • JSON是轻量级的文本数据交换格式
  • JSON独立于语言
  • JSON具有自我i描述,更易理解

Ajax

     AJAX(Asynchronous Javascript And XML) 翻译内容即“异步Javascript和XML”。即使用Javascript语言与服          务器机型异步交互,传输数据为XML。   PS:传输数据不知是XML,JSON数据更常用

     AJAX除异步的特点外,还有浏览器页面局部刷新功能。

发送请求给服务器的途径

  1. 地址栏:get
  2. form表单:支持get与post
  3. 超链接:click是get方式
  4. Ajax请求:可以指定get和post PS:发Ajax请求一半返回HttpResponse()

简单的Ajax请求

    修改views视图

 1 from django.shortcuts import render,HttpResponse,redirect
 2 from django.views import View
 3
 4 # Create your views here.
 5
 6 class Upload(View):
 7     def get(self,request):
 8         return render(request,'upload.html')
 9     def post(self,request):
10         print('已执行')
11         return HttpResponse('提交成功')

View Code

    修改HTML

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
{% csrf_token %}
<input type="text" name="usm"><br>
<input type="password" name="pwd"><br>
<input type="file" name="file"><br>
<input type="button" value="提交" id="btn"><br>
<span class="conent"></span>
<script src="{% static 'js/jquery-3.4.1.js' %}"></script></body>
<script>$('#btn').click(function () {var csrf_data=$('[name=csrfmiddlewaretoken]').val();console.log(csrf_data);$.ajax({url:'{% url "upload" %}',type:'post',data:{csrfmiddlewaretoken:csrf_data},success:function (response) {$('.conent').text(response);alert(response)}})})
</script>
</html>

View Code

    修改urls路由

from django.conf.urls import url
from django.contrib import admin
from app01 import viewsurlpatterns = [url(r'^admin/', admin.site.urls),url(r'upload/',views.Upload.as_view(),name='upload'),
]

View Code

基于Ajax的文件传输

   修改views视图

from django.shortcuts import render,HttpResponse,redirect
from pydiango4 import settings
from django.http import JsonResponse
import os# Create your views here.def login(request):return render(request,'login.html')def index(request):# if request.method=='POST':#     print('ok')print('已跳转')usm=request.POST.get('usm')pwd=request.POST.get('pwd')print(usm,pwd)if usm=='wmm' and pwd=='123':return HttpResponse('1')else:return HttpResponse('no')def upload(request):if request.method=='POST':file_obj=request.FILES.get('hede')# 接收文件用FILES而不是POST/GETpath=os.path.join(settings.BASE_DIR,'static_file','img',file_obj.name)with open(path,'wb')as f:for chunks in file_obj.chunks():# chunks()每次读取数据大小是稳定的
                f.write(chunks)dic={'asd':12,'zxc':15}return JsonResponse(dic,safe=True)# JsonResponse()用于将数据转化为json数据并返回# safe=True 当传输数据 非字典 类型时需要safe=False

View Code

   修改HTML

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form method="post" action="{% url 'upload' %}" enctype="multipart/form-data">{% csrf_token %}<input type="file" name="hede"><input type="submit" id="btn">
</form>
</body>
<script src="{% static 'js/jquery-3.4.1.js' %}"></script>
<script>
$('#btn').click(function(){var formdata=new FormData();var file=$('[name=hede]')[0].files[0];var csrf_data=$('[name=csrfmiddlewaretoken]').val();formdata.append('file',file);formdata.append('csrfmiddlewaretoken',csrf_data);$.ajax({url:'{% url "login" %}',type:'post',data:formdata,processData:false,contentType:false,success:function () {}})
})</script>
</html>

View Code

   修改urls路由

from django.conf.urls import url
from django.contrib import admin
from app01 import viewsurlpatterns = [url(r'^admin/', admin.site.urls),url(r'login/',views.login,name='login'),url(r'index/',views.index,name='index'),url(r'upload/',views.upload,name='upload'),
]

View Code

转载于:https://www.cnblogs.com/lttlpp61007188/p/10950877.html

Django,Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传相关推荐

  1. Ajax 通过 Request Payload 体发送 JSON 数据体

    为什么80%的码农都做不了架构师?>>>    AJAX POST 发送数据有2种方式: Form Data 和  Request Payload . Form Data 是我们大家 ...

  2. Arduino UNO 单片机 读RFID RC522卡号发送Json数据

    Arduino UNO 单片机 读RFID RC522卡号发送Json数据 记得添加库文件哦 /*Arduino Uno <-> RFID-RC52210 <-> SDA13 ...

  3. c#实现ajax通信:向后台发送JSON字符串,接收响应字符串,并转换为对象

    全栈工程师开发手册 (作者:栾鹏) c#教程全解 c#实现ajax通信,通过向服务器后台发送json数据,接收响应数据提交给前台. 其中包含两个主要函数,发送数据,接收响应数据的Http请求响应函数. ...

  4. 处理文件上传后返回json数据在IE出现文件下载问题(框架是spring boot)

    处理文件上传后返回json数据在IE出现文件下载问题(框架是spring boot) 最近做了一个上传xml文件的功能,在谷歌浏览上传没有问题,可以返回正确的结果,但在ie浏览器上上传成功以后,一直提 ...

  5. 实现前后台数据交互(上传/回传单个JSON数据和上传/回传JSON数组)

    一.上传单个JSON数据 所需jar文件: 创建JSON实体类: package domain;public class Data1 {private String name;private Stri ...

  6. spring mvc 返回json数据到ajax报错parseerror问题

    最近使用ajax接收spring mvc传过来的json数据时总是出现parseerror的错误,错误源码如下: 前端: $.ajax({type: 'POST',url: "groupFu ...

  7. python发送json数据_在Websockets上发送JSON

    我有一个简单的Python tornado Websockets服务器,从JavaScript客户端接收消息.我正在尝试发送JSON数据,我找到的唯一解决方案是将JSON对象转换成字符串JSON,发送 ...

  8. html表单发送json,在HTML表单上发送JSON数据提交

    我有一个html表单,该表单有两个字段(名称,说明).当用户点击该表单的提交按钮时,我想以json格式提交表单数据.在HTML表单上发送JSON数据提交 我试过如下: function submitD ...

  9. PHP向第三方接口发送json数据

    2019独角兽企业重金招聘Python工程师标准>>> 开发项目中,遇到需要向第三方接口发送json数据数据的情况,php默认发送数据形式为text,需要告诉第三方接口数据形式为js ...

  10. jmeter发送json数据,报405、400错误解决方案

    jmeter发送json数据,报405.400错误解决方案 参考文章: (1)jmeter发送json数据,报405.400错误解决方案 (2)https://www.cnblogs.com/sunn ...

最新文章

  1. window系统mysql无法输入和无法显示中文的处理配置
  2. Operation Queues并发编程
  3. 第三期 预测——Frenet 坐标
  4. yum-fastestmirror模块的使用 提升yum速度的!
  5. LeetCode Remove Nth Node From End of List
  6. python_目录结构
  7. Android初级开发第七讲--特效和数据传递处理
  8. mybatis :Criteria 查询、条件过滤用法
  9. uC/OS-II源码分析(二)
  10. 函数运行环境系统动态链接库版本太低?函数计算 fun 神助力分忧解难
  11. redisLock redis分布式锁
  12. 【英语学习】【WOTD】resuscitate 释义/词源/示例
  13. jQuery Mobile中头部栏header的data-*选项
  14. c4d流体插件_C4D流体烟雾模拟插件TurbulenceFD C4D v1.0.1437中文版流体
  15. Excel可视化:1个思路学会7种变形柱形图
  16. SDUT OJ 2144 数据结构实验之图论九:最小生成树
  17. 苹果4s怎么越狱教程_苹果手机越狱状态简单APP多开教程
  18. 想要学习丙烯画,这些地方要注意了~
  19. Java流程控制练习题
  20. idea debug报错无法调试 Disconnected from the target VM

热门文章

  1. python--通过xpath相对节点位置查找元素(续)
  2. (原创)OpenStack服务如何使用Keystone(三)---详细配置Keystone中间件
  3. poj 3295 Tautology(经典构造算法题)
  4. wust2013届推免生复试机试代码
  5. 被程序员忽视的位运算
  6. 组信箱共享及挂载介绍
  7. api key for Alpha Vantage
  8. TRY NOT TO SAY SO MUCH!
  9. cambridge phd in engineering
  10. cs专业学生对于家乡的思考