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

2240 단어
프런트엔드 AJAX에서 데이터를 요청하면 "AttributeError:'dict'object has no attribute'status code"오류가 표시됩니다.
원인: 대상을 되돌려주는 dict에 "status code"속성이 없기 때문에 대상을 되돌려주는 데 문제가 있습니다.
views층의 함수는 두 가지 기본 제한이 있습니다: 1.첫 번째 수는 반드시 Request 2.HttpResponse 클래스의 인스턴스(객체)를 반환해야 합니다.사전 형식의 데이터 내용만 되돌려주고 Http Response로 사전을 감싸지 않았습니다.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(){
              }
          });

좋은 웹페이지 즐겨찾기