Maison > Questions et réponses > le corps du texte
J'écris un script pour une page Web qui récupère les données du type de document "Tâche" et de sa sous-table "Détails du travail" via un appel API. Bien que les données aient été récupérées correctement, seules les données du type de document Tâche sont ajoutées au tableau HTML. Voici le code :
$(document).ready(function() { // 从URL查询字符串中获取项目ID过滤器的值 var projectId = getQueryParam("project_id"); // 将projectId设置为元素的文本 $("#project_id").text("项目名称:" + projectId); $.ajax({ url: "https://example.com/api/resource/Task", type: "GET", dataType: "json", headers: { "Authorization": "token xxxxxxxxxxxxxxxxxxxxx" }, data: { fields: JSON.stringify([ "type", "project_name", "farmer", "survey_number", "total_in_cubic_mts", "total_fuel_expenses", "water_storage", "work_details.work_type", "work_details.start_date", "work_details.end_date" ]), filters: JSON.stringify([ ["project_name", "=", projectId], ["type", "=", "work measurements"] ]), limit: 50 }, success: function(response) { console.log(response); // 将API响应记录到控制台以检查数据 var tasks = response.data; // 遍历每个任务 tasks.forEach(function(task) { console.log(task); // 将每个任务记录到控制台以检查数据 var mainTableRow = $("
"); mainTableRow.append($(" "); // 为子行创建一个单独的tbody workDetails.forEach(function(workDetail) { var childTableRow = $("").text(task.farmer)); mainTableRow.append($(" ").text(task.survey_number)); mainTableRow.append($(" ").text(task.total_in_cubic_mts)); mainTableRow.append($(" ").text(task.total_fuel_expenses)); mainTableRow.append($(" ").text(task.water_storage)); var workDetails = task.work_details; if (workDetails && workDetails.length > 0) { console.log(workDetails); // 将工作详细信息记录到控制台以检查数据 var childTableBody = $(" "); childTableRow.append($(" ").text(workDetail.work_type)); childTableRow.append($(" ").text(workDetail.start_date)); childTableRow.append($(" ").text(workDetail.end_date)); console.log(childTableRow); // 将每个子表行记录到控制台以检查 childTableBody.append(childTableRow); // 将子行追加到子tbody }); mainTableRow.after(childTableBody); // 将子tbody追加到主行后面 } $("#taskTable tbody").append(mainTableRow); // 将主行追加到主tbody }); }, error: function(xhr) { console.log(xhr.responseText); } }); }); // 从URL获取查询参数的值的函数 function getQueryParam(param) { var urlParams = new URLSearchParams(window.location.search); return urlParams.get(param); } Les données ont été correctement obtenues et le tableau principal est affiché sur la page web. Mais la partie sous-table n'est pas affichée. J'ai le fort sentiment que "task.work_details" n'est pas le moyen d'obtenir les données, ou qu'il y a un problème lors de l'ajout de la partie sous-table.
Voici les données obtenues via API :
Object { type: "कामाचे मोजमाप", project_name: "Bodare", farmer: "Test Farmer", survey_number: "123/234", total_in_cubic_mts: 789, total_fuel_expenses: 34000, water_storage: 10010000, work_type: "नाला खोलीकरण", start_date: "2023-07-04", end_date: "2023-07-06" } testing_task_list:1562:13répondre à tous(1)je répondrai
Annuler