我无法找到专门针对我案例的答案,所以我希望我至少能在这里找到建议。
在我的Laravel应用程序中,我有一个带有二级密钥的MySQL表,它使用了所述表中两个字段的组合。如果尝试插入重复项,则会返回以下SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '...key...' for key 'pro_number_origin
,返回码为500
。
但是,我很好奇是否有任何关于如何返回jQuery警报的建议(在最基本的级别),特别是对于MySQL回吐返回的情况,说明已经存在具有特定参数的条目。或者甚至可能以不同的方式解决这个问题,如果我不需要,我宁愿不添加额外的请求,只是使用特定的回报。
答案 0 :(得分:0)
当使用AJAX时,Laravel会返回堆栈跟踪的JSON响应,您可以查看堆栈跟踪并尝试找到特定的唯一字词,这些字词可以区分错误并将警报基于此。
一个简单的例子是:
if (response.toLowerCase().includes('duplicate entry')) {
alert('A duplicate entry key error was thrown.');
}
现在,可以进一步扩展以包含不同的错误类型。
或,更复杂的方法是为基于AJAX的错误创建自定义异常处理程序,并为JSON键中的每个错误类型提供干净的输出,可以标记为error