class JsonResponse(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None,**kwargs)
这个类是HttpRespon的子类,它主要和父类的区别在于:
1.它的默认Content-Type被设置为:application/json
2.第一个参数,data应该是一个字典类型, 当safe这个参数被设置为:False,那data可以填入任何能被转换为JSON格式的对象,比如list, tuple,set.
默认的safe参数是True.如果你传入的data数据类型不是字典类型,那么它就会抛出 TypeError的异常.
3.json_dumps_params参数是一个字典,它将调用json.dumps()方法并将字典中的参数传入给该方法.
>>>导入模块JsonResponse:
from django.http import JsonResponse
>>>如果这样返回,Ajax还需要进行json解析:
- 文件---> views.py
return HttpResponse(json.dumps({"msg":"ok!"}))
- 文件---> index.html
var data=json.parse(data)
console.log(data.msg);
>>>如果这样返回,两边都不需要进行json的序列化与反序列化,Ajax接受的直接是一个对象.
文件---> views.py
from django.http import JsonResponse return JsonResponse({"msg":"ok!"})
文件---> index.html
console.log(data.msg);