我有一个可编辑的DataTables(jQuery),它在我的jsp中显示来自我的数据库的数据。 我尝试在servlet中检索更新的对象列表(在客户端用户修改数据之后),这些DataTables中没有成功...“save”按钮用于触发进程。< / p>
这是我的jsp的一部分:
<button onclick="saveData()">SAVE</button>
<div class="x_content">
<table id="myTable" class="table table-striped table-bordered" width="100%"></table>
</div>
<script>
function saveData() {
$.ajax({
type: 'POST',
url: 'AddLicenceServlet',
data: 'data',
headers: {
Accept: "application/json; charset=utf-8",
"Content-Type": "application/json; charset=utf-8"
},
success: function () {
var table = $('#myTable').DataTable();
var data = table.rows().data();
request.setAttribute("data", data);
console.log(data);
alert('success insert' + data);
}
});
}
;
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
type: 'GET',
url: 'http://localhost:8080//RedlogServer3/licences',
dataType: 'json',
headers: {
Accept: "application/json; charset=utf-8",
"Content-Type": "application/json; charset=utf-8"
},
success: function (response) {
var dataTablesObj = response;
generateDataTable(dataTablesObj);
dataSet = dataTablesObj.data;
},
error: function (resultat, statut, erreur) {
},
complete: function (resultat, statut) {
}
})
});
</script>
“成功”中的console.log(data)
很好地显示了我想要在我的servlet中检索的更新数据,并且servlet的调用正在工作,但我没有检索任何数据......“请求.getParameter“是”null“......
这是我的servlet:
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
LicenceDAO licenceDAO = new LicenceDAO();
List<Licence> licenceList = (List)request.getAttribute("data");
for (Licence c : licenceList) {
c.setSerialNumber(request.getParameter("pk.serialNumber"));
c.setSoftware(request.getParameter("pk.software"));
c.setCustomer(request.getParameter("customer"));
c.setName(request.getParameter("name"));
licenceDAO.persist(c);
}
}
如何使用Ajax将客户端表中的数据检索到服务器端的servlet?我是否遗漏了一些东西来使jsp和servlet之间的通信成为可能?
我是servlet / jsp / ajax的新手,任何帮助都会很棒!非常感谢!