ajax发送json格式的数据
# ajax默认提交的数据格式是 urlencoded
'''
发送的数据类型和数据格式要保持一致
'''
$('.btn').click(function () {
$.ajax({
url: '',
type: 'post',
data: JSON.stringify({'d1': 'aaa'}), // 序列化 json
contentType: 'application/json', // 代表发送的数据是json格式
success: function (res) {
console.log(res)
}
})
})
ajax发送文件数据
$('.btn').click(function () {
// ajax上传文件需要借助于FormData
// 1. 实例化FormData
var obj = new FormData()
// 增加数据
obj.append('username', $('#username').val());
obj.append('username', $('#password').val());
// 增加文件数据
obj.append('myfile', $("#myfile")[0].files[0])
$.ajax({
url: '/upload_file/',
type: 'post',
data: obj, // 序列化 json
contentType:false, // 告诉浏览器不要修改提交的数据格式
processData:false, // 告诉浏览器不要对提交的数据进行任何的更改
success: function (res) {
console.log(res)
}
});
})
django自带的序列化器
from django.core import serializers
def user_list(request):
user_list = models.User.objects.all() # queryset
# lst = []
# for user in user_list:
# temp_dict = {}
# temp_dict['username'] = user.username
# temp_dict['password'] = user.password
# lst.append(temp_dict)
# import json
# res=json.dumps(lst,)
# return render(request, 'user_list.html', locals())
# return HttpResponse(res)
res = serializers.serialize('json', user_list)