【发布时间】:2010-08-05 12:41:17
【问题描述】:
我正在从我的服务器获取 json 数据以将它们显示为表格。
$('#queryFrom').ajaxForm({
dataType: 'json',
beforeSubmit: showRequest, // pre-submit callback
success: processJson,
error: function (xhr, ajaxOptions, thrownError){
$('#queryResult').html('<div class="ui-corner-all ui-state-error"><p><span class="ui-icon ui-icon-alert"></span>'+thrownError+'</p></div>');
$('#queryResult').show("slow");
}
});
我能以某种方式将 mysql 错误与 json/ajax 错误端分开吗? 目前我得到:无效的 JSON:SQLSTATE[42S02]:未找到基表或视图:1146 表 'simover.simulation' 不存在{} 我可以自定义 jquery 抛出的消息吗? 谢谢阿曼。
编辑
可以使用 xhr.responceTxt 代替 throwError。
【问题讨论】:
-
您应该在服务器端捕获并处理 MySQL 错误并返回例如一个空的结果集。服务器错误消息永远不应到达客户端。
-
您是否关闭了
php.ini中的display_errors选项? -
我想查看错误。用户界面提供了向服务器提交查询的便利。如果我再次返回空集,则 Invalid JSON: 将保留在那里。我想要一条自定义消息,例如:对不起,您的查询错误并指出错误所在。
-
这是一个公共应用程序吗?如果您显示此类错误,它们可能会泄露有关您的数据库的信息,这些信息可能会帮助某人闯入它。您可能希望在您的应用程序中有一个选项来完全禁用这些错误,或者仅在客户端具有特定 IP 地址时才显示它们
-
@Ken 专家用户将访问,对于客人来说这是准备好的陈述,在这种情况下我们根本没有任何错误。
标签: php jquery mysql json mysql-error-1146