ajax json用法 上传文件 登录
json 是一种数据结构 跨平台跨语言
1. python中json数据的转换
1.数据类型
字符串 数字 布尔值 列表 字典 None
2. 序列化 python的数据类型 ——》 json字符串
json.dumps(python的数据类型)
json.dump(python的数据类型,f)
3. 反序列化 json字符串 ——》 python的数据类型
json.loads(json字符串)
json.load(json字符串,f)
2. js中json数据的转换
1.数据类型
字符串 数字 布尔值 数组 对象 null
2. 序列化 js的数据类型 ——》 json字符串
JSON.stringify(js的数据类型)
3. 反序列化 json字符串 ——》 JS的数据类型
JSON.parse(json字符串)
3. from django.http import JsonResponse 一般用来转换成字符串 字典就用这种方法
JsonResponse({})
JsonResponse([],safe=False) 传列表加这个参数
2. ajax上传文件 及登录
视图代码:
# 上传文件
def upload(request):
if request.is_ajax():
with open(f1.name, 'wb') as f:
for i in f1.chunks():
f.write(i)
<input type="file" id="my_file">
<button id="b1">上传</button>
$('#b1').click(
function () {
var form_obj = new FormData();
form_obj.append('f1', $('#my_file')[0].files[0]);
url: '/upload/',
type: 'post',
data: form_obj,
processData: false,
contentType: false,
success: function (res) {
console.log(res)
}
})
}
)
# 登陆
from django.views import View
from django.http import JsonResponse
class Log(View):
return render(request,'log.html')
# 传一个字典
ret={'status':0,'msg':''}
user=request.POST.get('user')
pwd=request.POST.get('pwd')
# 找到第一个 不要用[0] 来取
obj=models.User.objects.filter(name=user,pwd=pwd).first()
if obj:
# 给字典添加一个 登陆状态 及跳转网址
ret['url']='/upload/'
# 因为是字典新式 用JsonResponse
return JsonResponse(ret)
else:
# 给字典添加 1为和设置用户密码错误
ret['status']=1
ret['msg'] = '用户名或密码错误'
return JsonResponse(ret)
<p>
用户名:<input type="text" id="user">
</p>
<p>
密码:<input type="password" id="pwd">
</p>
<button id="b1">登录</button>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$('#b1').click(function () {
$.ajax({
url:'/log/',
type:'post',
data:{
user:$('#user').val(),
pwd:$('#pwd').val()
},
success:function (res) {
{#res 是调回来的对象 #}
if (res.status ==0){
{# res.url 相当于取字典里的值#}
location.href = res.url
}
else {
alert(res.msg)
}
}
})
})
ajax json用法 上传文件 登录的更多相关文章
- H5 FormData对象的使用——进行Ajax请求并上传文件
XMLHttpRequest Level2 添加了一个新的接口——FormData .[ 主要用于发送表单数据,但也可以独立使用于传输键控数据.与普通的Ajax相比,它能异步上传二进制文件 ] 利用F ...
- jQuery Ajax使用FormData上传文件和其他数据,后端web.py获取
参考博文: 通过jQuery Ajax使用FormData对象上传文件 方法一:使用<form>表单初始化FormData对象方式上传文件 前端(JQuery): <form enc ...
- HTML5+AJAX原生分块上传文件的关键参数设置
processData:false 这是jquery.ajax的一个参数.默认值为true,表示会将非字符串对象自动变成k1=v1&k2=v2的形式,例如一个数组参数{d:[1,2]},到服务 ...
- Ajax 无刷新上传文件插件 uploadify 的使用
在表单中无法直接使用 Ajax 上传文件,解决的思路可以是使用插件无刷新地上传文件,返回文件上传后的地址,然后把该地址作为 Ajax 的参数传递给服务器端进行数据库处理.可以使用 uploadify ...
- ajax:html5上传文件,上传之前可以实现本地预览
本主题主要涉及两个新内容: 1.上传文件(主要使用了FormData) 2.本地预览(主要使用了FileReader) html5的FormData其实就是平时的Form表单,只是html5可以直接新 ...
- 使用FormData,进行Ajax请求并上传文件
前段时间做了个手机端的图片上传,为了用户体验,用ajax交互,发现了FromData对象,这里有详细解释https://developer.mozilla.org/zh-CN/docs/Web/API ...
- Ajax通过FormData上传文件
1.使用<form>表单初始化FormData对象方式上传文件 HTML代码 <form id="uploadForm" enctype="multip ...
- Springboot第三篇:与前端fetch通信(关于前端传输json数据上传文件等等前后端的处理)
关于前端接口传递的方法,推荐按以下使用: 若要在服务器上创建资源,推荐使用POST方法 若要检索某个资源,推荐使用GET方法 若要更新资源,推荐使用PUT方法 若要删除某个资源,推荐使用DELETE方 ...
- ajax无刷新上传文件
网页上传文件最简单的方式就是通过表单上传了,但是在提交表单的时候会导致网页刷新,但有的时候我们不想网页刷新,有什么办法呢,我们可以使用ajax上传文件来做到这一点.只有ajax还不行,还需要JavaS ...
随机推荐
- Unity插件-ShareSDK使用指南
Unity插件ShareSDK使用教程 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Summariz ...
- CTF-练习平台-Misc之 听首音乐
十九.听首音乐 用软件audacity打开后发现如下 上面那一行是可以看做摩斯电码,翻译过来是: ..... -... -.-. ----. ..--- ..... -.... ....- ----. ...
- spring boot sso 学习资源
diy: 关键字: springboot sso:public boolean preHandle(HttpServletRequest request, HttpServletResponse re ...
- gRPC-Web is going GA
原文: https://www.cncf.io/blog/2018/10/24/grpc-web-is-going-ga On behalf of the Cloud Native Computing ...
- 如何构建 MVC&AJax&JSon示例
背景: 博客中将构建一个小示例,用于演示在ASP.NET MVC4项目中,如何使用JQuery Ajax. 直接查看JSon部分 步骤: 1,添加控制器(HomeController)和动作方法(In ...
- C#如何使用VS2010与SQL2008建立链接及初步调用(转)
关于VS2010与SQL2008建立链接及初步调用问题,网上参考的资料很多,我写这个博客,并非是做重复工作,也不是做搬运工.本文将以一种初学者的角度,去完成从数据库建立,到VS2010与SQL中的数据 ...
- SQL 计算某月有多少天
今天用SQL Server 2005写查询语句,要求计算一个月平均每天发生的金额.以前往往喜欢查询相关的所有列,在代码中进行计算,还没有在SQL中写过. 第一印象就是:要考虑到润年还是平年,再判断是大 ...
- [模板] Miller_Rabin素数判断代码实现存档
就是....存存代码吧. Miller_Rabin的最核心部分在于二次探测定理和费马小定理.后者在同余/逆元的题目里面或多或少都有提及吧.....前者也很简单. 总而言之,Miller_Rabin不算 ...
- Sigar简介
大家好,我是Sigar.也许好多人还不认识我.下面就介绍一下我自己,好让大家对我有一个大致的了解. 我的全名是System Information Gatherer And Reporter,中文名是 ...
- bzoj 4842: [Neerc2016]Delight for a Cat
Description ls是一个特别堕落的小朋友,对于n个连续的小时,他将要么睡觉要么打隔膜,一个小时内他不能既睡觉也打隔膜 ,因此一个小时内他只能选择睡觉或者打隔膜,当然他也必须选择睡觉或打隔膜, ...