JsonResponse 對象:html
class JsonResponse
(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None,**kwargs)ajax
這個類是HttpRespon的子類,它主要和父類的區別在於:django
1.它的默認Content-Type 被設置爲: application/jsonjson
2.第一個參數,data應該是一個字典類型,當 safe 這個參數被設置爲:False ,那data能夠填入任何能被轉換爲JSON格式的對象,好比list, tuple, set。 默認的safe 參數是 True. 若是你傳入的data數據類型不是字典類型,那麼它就會拋出 TypeError的異常。app
3.json_dumps_params參數是一個字典,它將調用json.dumps()方法並將字典中的參數傳入給該方法。spa
#若是這樣返回,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);