我有一个jqgrid表,通过XML通过apache2 web服务器查询MySQL DBMS。
有时,只要数据库服务器关闭或服务器端程序遇到 某种崩溃,jqgrid只是冻结等待XML数据到达。
在这种情况下,我最好让jqgrid用户知道这件事,从而显示一条描述非常类型的温和信息。
我想知道是否存在针对此类情况的任何jqgrid选项
我正在使用:
jquery-1.3.2
jquery-ui-1.7.2
jquery.jqGrid-3.5.3
谢谢,
答案 0 :(得分:1)
如果对于jqgrid,您使用的function
数据类型为jQuery.agax
,则将逻辑放在错误处理程序中。唯一的问题是你手动填充网格并且没有得到“加载”提示,尽管你可以创建一个。
此示例取自我在调用ASP.NET WCF服务时使用的常用模式,我的结果对象包含寻呼机的int属性和行集合,这在myGrid.setGridParams
中定义。
datatype: function(postdata) {
$.ajax({
type: "POST",
url: 'SomeService.svc/SomeGetMethod',
data: JSON.stringify(postdata),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(res) {
myGrid.clearGridData();
for (var i = 0; i < res.d.rows.length; i++) {
myGrid.addRowData(i + 1, res.d.rows[i]);
}
myGrid.setGridParam({
page: postdata.page,
lastpage: res.d.total,
records: res.d.records,
total: res.d.total
});
myGrid.each(function() {
if (this.grid) this.updatepager();
});
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
// Code to handle error.
}
});
},
答案 1 :(得分:1)
我回答了关于使用jqgrid报告(服务器端)错误的类似问题。
答案 2 :(得分:0)
您可以在jqGrid定义中使用loadError
事件(请参阅documentation)。 E.g:
//Catch errors
loadError = function(xhr, textStatus, errorThrown) {
var error_msg = xhr.responseText
var msg = "Some errors occurred during processing:"
msg += '\n\n' + error_msg
alert(msg)
}