1. 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():
f1 = request.FILES.get('f1')
with open(f1.name, 'wb') as f:
for i in f1.chunks():
f.write(i)
return HttpResponse('上传成功')
return render(request, 'upload.html')
html代码:
上传
$('#b1').click(
function () {
var form_obj = new FormData();
form_obj.append('f1', $('#my_file')[0].files[0]);
$.ajax({
url: '/upload/',
type: 'post',
data: form_obj,
processData: false,
contentType: false,
success: function (res) {
console.log(res)
}
})
}
)
ajax登录代码
# 登陆
from django.views import View
from django.http import JsonResponse
class Log(View):
def get(self,request):
return render(request,'log.html')
def post(self,request):
# 传一个字典
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)
html代码:
用户名:
密码:
登录
$('#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)
}
}
})
})
H5 FormData对象的使用——进行Ajax请求并上传文件
XMLHttpRequest Level2 添加了一个新的接口——FormData .[ 主要用于发送表单数据,但也可以独立使用于传输键控数据.与普通的Ajax相比,它能异步上传二进制文件 ] 利用F ...
jQuery Ajax使用FormData上传文件和其他数据,后端web.py获取
参考博文: 通过jQuery Ajax使用FormData对象上传文件 方法一:使用
表单初始化FormData对象方式上传文件 前端(JQuery):
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.使用
表单初始化FormData对象方式上传文件 HTML代码
Ubuntu配置apache
http://blog.csdn.net/ljchlx/article/details/21978431 http://www.2cto.com/os/201110/107283.html
x264源代码简单分析:编码器主干部分-1
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
C#快速生成数据数组
需求:生成一个数组,数组里面的值为1-100实现方式:拿到这个需求很多朋友可能会想到一个快速实现的方式如下: ]; ;i<=;i++){ arr[i]=i; } 但是C#提供了一个快速生成的方式 ...
prop和state的区别
1.prop用于定义外部接口,state用于记录内部状态: 2.prop的赋值在外部世界使用组件时,state的赋值在组件内部: 3.组件不应该改变prop的值,但是state的存在目的就是让组件来改 ...
linux下每次git clone不需输入账号密码的方法
在~/下, touch创建文件 .git-credentials, 用vim编辑此文件,输入内容格式: ame@zhenyun ~ $touch .git-credentials ame@zhenyu ...