mysql完整性约束冲突的jquery警报(laravel)

s71maibg  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(401)

我还没有找到一个具体的答案,所以我希望我至少可以在这里找到建议。
在我的laravel应用程序中,我有一个mysql表,它有一个使用表中两个字段组合的辅助键。如果试图插入一个副本,则返回以下内容 SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '...key...' for key 'pro_number_origin 返回码是 500 .
但是,我很好奇是否有任何关于如何返回jquery警报(在非常基本的级别上)的建议,特别是对于mysql回吐返回消息说已经有一个带有特定参数的条目的情况。或者换一种方式来解决这个问题,如果不需要的话,我宁愿不添加额外的请求,只使用特定的返回。

ws51t4hk

ws51t4hk1#

当使用ajax时,laravel返回一个堆栈跟踪的json响应,您可以查看堆栈跟踪,并尝试定位特定的唯一单词,这些单词将区分错误,并以此为基础发出警报。
一个简单的例子是:

if (response.toLowerCase().includes('duplicate entry')) {
    alert('A duplicate entry key error was thrown.');
}

现在,可以进一步扩展以包括不同的错误类型。
或者,更复杂的方法是为基于ajax的错误创建自定义异常处理程序,并在json键中为每个错误类型提供干净的输出,该键可以标记为 error .

相关问题