AttributeError: 'dict' object has no attribute 'status_code'

前端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(){
              }
          });
相關文章
相關標籤/搜索