jquery ajax非正常返回处理

一句话总结:$post方法暂时不支持非200返回码的错误处理,需要用$ajax

Posted by 昆山吴彦祖 on 2019.04.13

因为用到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()

ajax