因为用到laravel结合ajax进行页面数据提交,碰到 422返回值 和$post()不兼容的问题
laravel自带的数据验证针对ajax 如果数据验证失败,会返回422错误,带错误详细信息,但是jquery的$post()方法是 $ajax()方法的一个简写,暂时不支持非200码的返回处理
$post() 在旧版1.5以下(没去确认)有 $post().error/$post().complate() 可以进行相关处理,但是这些方法在jquery 1.8以后被放弃了。
资料显示有新的 $post().fail() /$post().done() 方法替代之前的办法,但是不知道是不是我jquery库版本不够新的关系,报错没有相关方法。
所以如果针对返回值会存在非 200 状态而且你需要去专门判断,那么 还是用 $ajax()