我有一个HTML表,它显示了我的数据库的所有数据(个别职位列表)。但是,我需要编写一个if语句,以便仅在作业的createdByUserID与查看它的用户的ID匹配时显示作业。
$(function() {
var records = [];
$.getJSON('https://db-ommitted-for-privacy?tableName=JobListings&fields=company,logo,img,companyDescription,role,roleDescription,location,link,createdByUserID,dateAdded&view=AllListings', function(data) {
$.each(data.records, function parseJSON(i, { fields: f }) {
var tblRow = "<tr>" +
"<td>" +
"<div style='padding-top: 1%; padding-bottom: 1%;'>" +
"<div style='border: 1px solid black;'>" +
"<button class='accordionList' style='font-size: large; outline: none;'>" +
"<span style='padding-top: 2.5%; padding-bottom: 3%;'>" +
"<img src='" + f.logo + "' height='30px'>" +
"</span> <span style='padding-top: 3%; padding-bottom: 3%;'> " +
f.company + " | " + f.role +
" <span style='color: #2b2b2b;''><span class='iconify-inline' data-icon='eva:pin-outline' style='color: #2b2b2b;'></span> " + f.location +"</span></span>" +
"</button>" +
"<div class='panel'>" +
"<img src='img/jobBanner2.png' width='100%'>" +
"<br>" +
"<p style='color: #505050;'>Posted: " + f.dateCreated + " | Status: " + f.status + "</p>" +
"<h4>About this role:</h4>" +
"<p>" + f.roleDescription + "</p>" +
"<h4>About " + f.company + ":</h4>" +
"<p>" + f.companyDescription + "</p>" + "<br>" +
"<a href='pricing.html' class='button btn btn-lg btn-block btn-sm button-black' style='padding-top: 1%; padding-bottom: 1%; width: 200px;'>Apply <span class='iconify-inline' data-icon='bi:arrow-right-circle' data-width='15' style='color: white;'></span></a>" +
"<br>" + "</div>" +
"</div>" +
"</div>" +
"</div>" +
"</td>" +
"</tr>"
$(tblRow).appendTo("#userdata tbody");
});
});
});
显示登录用户ID的代码:
<div data-ms-member="id"></div>
我理解这应该如何工作的概念,但我不知道如何在JS和HTML中执行它。任何帮助都是感激的,谢谢。
只需添加:
var uid = /*get your user id here*/
//filter out any data not created by current user
if (uid != f.createdByUserID) {return ;}
var tblRow = "<tr>" +
我仍然要说的是,在前端进行过滤是愚蠢的,因为这会导致将数据库暴露给使用开发人员工具检查代码的每个人的安全风险,以及由于试图从服务器接收数据库表中的所有数据而导致的低性能。最好有一个用php或node.js编写的后端来做这些检查。