前端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(){ } });