Как напечатать список данных JsonResponse в html - PullRequest
0 голосов
/ 24 февраля 2019

хи я создал форму, и я отправляю форму, используя ajax, и я получаю список данных в моем успехе ajax

это моя форма:

 <form id="myForm" method="POST">

   <input type="submit" value="Refresh">
 </form>

этомоя функция просмотра

def refresh(request):
    user = usertab.objects.all().values()
    d={"data" : list(user)}
    return JsonResponse(d)

и это мой AJAX:

 $(document).on('submit','#myForm',function(e){
        e.preventDefault();
        $.ajax({
            type:'POST',
            url: '/refresh/',
            data:{
                csrfmiddlewaretoken : "{{ csrf_token }}"
            },
            success: function(d){
                for (a in d['data']){
                alert(a)
                }

            },
            error: function(xhr, status, error) {
                alert(xhr.responseText);
            }
        });
    });

Я могу получить все пользовательские данные в моем AJAX успеха, и я хочу напечатать эти данные в таблице, используя цикл для какя делаю это, пожалуйста, скажите мне

я подаю заявку на цикл в dict, но я получил предупреждение в виде aray 0, затем 1, затем 2, я хочу напечатать эти данные в таблице hrml, пожалуйста, сообщите мне

это мой стол:

<table id="myTable">
    <thead>
        <tr>
            <th>id</th>
            <th>username</th>
            <th>email</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> ??????? </td>
            <td> ??????? </td>
        </tr>
    </tbody>

</table>

1 Ответ

0 голосов
/ 24 февраля 2019

См. Демонстрацию создания строк динамической таблицы.
Обратите внимание, что код не использует никакую внешнюю библиотеку js.

<html>
<head>

<script>

var data = [{id:12,user:'jack',email:'jack@zzz.com'},
        {id:14,user:'dan',email:'dan@zzz.com'}]

		
function populate_table() {
   let table = document.getElementById('demo_table');
   for(var i = 0; i < data.length; i++) {
        let row = table.insertRow(-1);
		let cell = row.insertCell(0);
		let text = document.createTextNode(data[i].email);
        cell.appendChild(text);
		cell = row.insertCell(0);
		text = document.createTextNode(data[i].user);
        cell.appendChild(text);
		cell = row.insertCell(0)
		text = document.createTextNode(data[i].id);
        cell.appendChild(text);
   }
}

</script>
</head>
<button onclick="populate_table()">Populate table</button>

<table id="demo_table">
    <thead>
        <tr>
            <th>id</th>
            <th>username</th>
            <th>email</th>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>

</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...