Как добавить данные jquery stringify в таблицу с редактируемыми (tr и td) данными 4 пользователей по одному как цикл

, потому что, dict2 = dict1, dict2 содержит ссылку на dict1. Оба dict1 и dict2 указывают на то же место в памяти. Это обычный случай при работе с изменяемыми объектами в python. Когда вы работаете с изменяемыми объектами в python, вы должны быть осторожны, поскольку его трудно отлаживать. Например, в следующем примере.

 my_users = {
        'ids':[1,2],
        'blocked_ids':[5,6,7]
 }
 ids = my_users.get('ids')
 ids.extend(my_users.get('blocked_ids')) #all_ids
 print ids#output:[1, 2, 5, 6, 7]
 print my_users #output:{'blocked_ids': [5, 6, 7], 'ids': [1, 2, 5, 6, 7]}

Это примерное намерение состоит в том, чтобы получить все идентификаторы пользователей, включая заблокированные идентификаторы. То, что мы получили от переменной ids, но также непреднамеренно обновили значение my_users . когда вы расширили ids с помощью заблокированных_id , мои пользователи обновились, потому что ids относятся к my_users .

2
задан faiz 16 January 2019 в 19:06
поделиться

2 ответа

Вы можете использовать jQuery.each () и создавать элементы на лету:

var myJSON = [{"id": "1", "name": "abc"},
    {"id": "2", "name": "def"},
    {"id": "3", "name": "xyz"},
    {"id": "4", "name": "aaa"}];
$.each(myJSON, function (idx, ele) {
    $('.show_data tbody').append(
            $('<tr/>')  // create a TR
            .append($('<td/>', {text: ele.id})) // append the first TD
            .append($('<td/>', {text: ele.name})) // append the second TD
    );
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<table class="show_data">
    <thead>
    <th>User id</th>
    <th>User name</th>
    </thead>
    <tbody>
    </tbody>
</table>
[116 ]
0
ответ дан gaetanoM 16 January 2019 в 19:06
поделиться

Просто возьмите свои данные и добавьте их в таблицу. Переберите каждую запись в ваших данных и (если используете jquery) выполните .append (). Я просто создаю простую переменную с вашим json, но вы можете сделать это с вашей переменной myJSON внутри функции success.

var data = [{"id":"1","name":"abc"},
{"id":"2","name":"def"},  
{"id":"3","name":"xyz"},
{"id":"4","name":"aaa"}]


data.forEach(user => {
    $('.show_data').append(`<tr><td>${user.id}</td><td>${user.name}</td></tr>`);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="show_data">
     <tr>
          <th>User id</th>
          <th>User name</th>
     </tr>
</table>

Редактировать

Вы получаете это по ошибке, потому что вы используете JSON.stringify, который делает ваш JSON строкой. Вы не можете перебрать строку. Просто используйте ответ вместо JSON.stringify (response);

0
ответ дан basic 16 January 2019 в 19:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: