Ответ ajax прекрасно виден в окне оповещения, но не может вывести его на печать, вместо него появляется undefined

Я пытаюсь вывести ответ на ajax-запрос. Я получаю "undefined", когда (внизу) я пишу ${obj[property][0]} он следует за индексом до 1, 2 и т.д.

Я могу видеть как в консоли, так и путем выделения ответа (данных), что он отправляет правильные данные в виде словаря, хотя это, конечно, json, потому что это то, что я отправляю в качестве ответа (и это то, что показывают веб-инструменты). Однако если я отключаю "obj", я получаю "объект", но не могу увидеть реальные значения

Это вызов ajax:

$(document).ready(function(){  // open document ready
    $('.botontest').on('click',function(){  // opening click function
        var value = $(this).val()
        alert(value);
        $.ajax({  // opening ajax obviously
        url:"{% url 'bill' %}",
        type:'POST',
        data:{'name':value, csrfmiddlewaretoken: '{{csrf_token}}'},// closes data field
        datatype:'json'
            }).done(function(data) {
    
    obj = JSON.parse( data);


    alert(data); // it prints me all data alright in the "alert" box

  // I leave out the headers.

    for (const property in obj) {

      tableHTML += "<tr><td>"
      tableHTML += `${property}</td>  <td>${obj[property][0]}</td><td>${obj[property][1]}</td>\
      <td>${obj[property][2]}</td><td>${obj[property][3]}</td><td>${obj[property][4]}</td><td>${obj[property][5]}</td>\
      <td>${obj[property][6]}</td><td>${obj[property][7]}`
      tableHTML += "</td></tr>"
    }

    tableHTML += "</tbody></table>"
    //place the tableHTML in the document
    $("#respuesta").html(tableHTML);
        });  // closing ajax group
            console.log(value);
    }); // closing the click function

});// closing document ready
 </script>

Мой ответ от Django таков:

return HttpResponse(simplejson.dumps(datax, default=str))

Меня смущает то, что я скопировал этот код из другого своего проекта и там он работал нормально. скриншот из firefox webtools того, что размещено в качестве ответа

РЕДАКТИРОВАНИЕ:

They want to see the response from django. There it goes 

datax = {'last_ht_water':last_hot_water,
                                                      'last_cold_water':last_cold_water,
                                                      'last_but_one_hot_water':last_but_one_hot_water,
                                                      'last_but_one_cold_water':last_but_one_cold_water}

return HttpResponse(simplejson.dumps(datax, default=str))

Все, что мне нужно было сделать, это поместить квадратные скобки вокруг значений, чтобы ответ представлял собой массив. Таким образом, код javascript на принимающей стороне распечатает его правильно.

Вернуться на верх