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


前端AJAX請求數據,提示錯誤:“AttributeError: 'dict' object has no attribute 'status_code'”。

原因:是提示返回對象dict沒有“status_code”屬性,所以返回對象有問題。

views層的函數,有兩個基本限制:
1.第一個數必須是request
2.必須返回HttpResponse類的一個實例(對象).
只返回了 字典類型的數據內容,沒有用HttpResponse包裹一下字典。
return語句沒有 render template或者  render json

改正后的代碼如下,加了HttpResponse:

    if request.is_ajax():
        cpu_used = getCPUstate();
        res_json = '{"cpu_used":cpu_used}'
        # , 'mem_used':mem_used
        return HttpResponse(res_json)

還需要注意一個問題:

傳到前端的json必須要加單引號'',因為前端解析json是以字符串解析的,否則傳輸到前端的就是json對象會有問題。

前端json解析代碼如下:

 $.ajax({
              url:"/linux_monitor/",
              type:"GET",
              dataType:"",    //
              processData:false,
              contentType:false,
              success:function (rdata) {
                json_data = JSON.parse(rdata);
              },
              error:function(){
              }
          });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM