使用AJAX / JQUERY将每个数据附加到从JSP

时间:2018-03-09 19:53:08

标签: javascript java jquery html ajax

我有一个充满描述和身份证号码的数据库,表格填充如下:

的index.jsp

<table>
    <tr>
        <td>Name:</td>
        <td>Id:</td>
    </tr>
    <c:forEach items="${employee}" var="employee">
        <tr>
            <td><c:out value="$employee.description"></c:out></td>
            <td class="id-value" id="id"><c:out value="$employee.id"></c:out></td>
        </tr>
        </c:forEach>
</table>

工作正常,所有值都显示在表格中。我还有一个服务,它将ID作为参数并返回特定员工的名字和姓氏 - 我想将其附加到每个记录的表中,以便在页面加载时显示 - 删除需要在数据库中存储更多值。这是我目前的代码:

function.js

$(document).ready(function(request, response) {
    var id = $('#id').text();
    var serviceUrl = 'http/service/example';

  $.ajax({
    type: 'GET',
    url: serviceUrl + id,
    cache: true,
    success: function(data) {
    $.map(JSON.parse(data), function(item) {
        $('td.id-value').append(' ' + item.FNAME + ' ' + item.LNAME);
   });
 }
});
});

当页面加载时,id列充满了所有正确的id号码,但它们都有相同的名字和姓氏一遍又一遍地附加(第一个id的名字/姓氏)

如何才能调用该列中的每个值?

json回复

 {FNAME: "FIRSTNAME", LNAME: "LASTNAME"}

1 个答案:

答案 0 :(得分:1)

看起来你需要得到像这样的元素列表

$("td[id='id']").each(function(e) {
  var elem = $(this)
  var id = elem.text();
  $.ajax({
    type: 'GET',
    url: serviceUrl + id,
    cache: true,
    success: function(data) {
      $.map(JSON.parse(data), function(item) {
      elem.append(' ' + item.FNAME + ' ' + item.LNAME);
  });
})