【发布时间】:2012-06-14 04:02:17
【问题描述】:
我将 DataTables 与来自表单的信息一起用于服务器端处理。 在表单提交数据表时发送 Ajax 请求,该请求由 Java Servlet 处理。
在遇到一些问题后,我决定开始使用 Firebug。当我点击提交按钮 firebug 返回以下 Jquery 相关错误:
// Do send the request
// This may raise an exception which is actually
// handled in jQuery.ajax (so no try/catch here)
xhr.send( ( s.hasContent && s.data ) || null );
当我使用 Firebug 重新发送请求时,请求被正确处理,这意味着 将 JSON 响应发送到浏览器。
我感觉调用的顺序有问题,比如 servlet 没有准备好或类似的东西,这可以解释为什么重新发送请求会成功。虽然我不确定。
DataTables jquery 代码:
$(document).ready(function() {
$("#searchResults").dataTable({
"bJQueryUI": true
});
$('.searchsubmit').click(function() {
var formData = $('form').serialize();
$("#searchResults").dataTable({
"bDestroy": true,
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": 'Search',
"sServerMethod": "POST",
"aoColumns": [
{ "mDataProp": "messagecaseid" },
{ "mDataProp": "messagesubject" },
{ "mDataProp": "messagesender" },
{ "mDataProp": "messagereceiver" }
],
"fnServerParams": function ( aoData ) {
aoData.push({"name": "formData", "value": formData}
);
}
});
});
});
【问题讨论】:
-
“搜索”是有效的 URL 吗?此外,servlet 可能会发回 DT 仍无法处理的“有效 JSON”。您能否发布一个返回 JSON 的示例?
标签: jquery jsp servlets datatables