前端AJAX请求数据,提示错误:“AttributeError: 'dict' object has no attribute 'status_code'”。前端
缘由:是提示返回对象dict没有“status_code”属性,因此返回对象有问题。linux
views层的函数,有两个基本限制:
1.第一个数必须是request
2.必须返回HttpResponse类的一个实例(对象).
只返回了 字典类型的数据内容,没有用HttpResponse包裹一下字典。
return语句没有 render template或者 render jsonajax
改正后的代码以下,加了HttpResponse:json
if request.is_ajax(): cpu_used = getCPUstate(); res_json = '{"cpu_used":cpu_used}' # , 'mem_used':mem_used return HttpResponse(res_json)
还须要注意一个问题:函数
传到前端的json必需要加单引号'',由于前端解析json是以字符串解析的,不然传输到前端的就是json对象会有问题。url
前端json解析代码以下:spa
$.ajax({ url:"/linux_monitor/", type:"GET", dataType:"", // processData:false, contentType:false, success:function (rdata) { json_data = JSON.parse(rdata); }, error:function(){ } });