关于form表单select选项用ajax加载报错
- Laravel Version: 7.30
- PHP Version: 7.3
- Dcat Admin Version: beta2.0.20
Description:
在form表单输入框值查询时,会查询多次,并报错

Steps To Reproduce:
其余无改动,就是个ajax获取对应值。可传参调用了多次,且参数存在拼音情况
你的接口报错了,检查接口
接口报错,是因为传递了错误参数。我用拼音输入法输入“电脑”,他的请求参数会传递diann,diannao等字符串参数,所以导致接口报错。正常不应该传递“电脑”这个字符串参数去请求吗?我猜想是因为您前端的js事件,如果是,那这里是不是可以修改触发事件,以最后输入值为准。不然会产生大量错误的请求。谢谢
可能是select2新版本的问题
是的,现在的 2.0 版本确实存在这个问题
可能是select2新版本的问题
问题说明:我这边阅读了一下源码,这个问题应该是由于select2插件delay延迟参数不生效导致的,默认系统设置250毫秒的延迟,但是只要搜索内容有任何变化,马上就会请求接口。当使用搜索功能时,中文还没有输入完成,但是select2已经将输入中的英文字符提交过去了。在多次触发接口的时候,select2会判断前面接口是否请求完成,如果没有请求完成会通过abort终止请求。触发终止请求时,Dcat的ajaxSetup全局设置,会触发error事件,调用vendor\dcat\laravel-admin\resources\assets\dcat\js\extensions\Ajax.js文件第62行的handleAjaxError方法,handleAjaxError方法中没有考虑到abort终止请求的情况,所以一直会执行到97行,抛出0 abort错误。

解决方案:vendor\dcat\laravel-admin\resources\assets\dcat\js\extensions\Ajax.js文件handleAjaxError方法里,switch里增加xhr.status等于0时,直接return即可。