php - laravel5.4通过ajax提交表单获取到422返回,ajax无法捕获返回内容
PHP中文网
PHP中文网 2017-06-21 10:10:48
0
1
619

1.通过ajax提交表单,如果验证不通过,则会返回http状态值为422的json
2.该json的格式如何自定义?
3.http状态值422,貌似已经在框架里面写死了。我想通过捕获验证异常的形式返回自定义的json到前端,这个能实现吗?
4.利用jquery的ajax方法在error的时候还是拿不到格式化成json对象的的返回数据,只能拿到一个字符串形式的json

PHP中文网
PHP中文网

认证0级讲师

全部回复 (1)
伊谢尔伦

json格式这个自己根据需要定义,没有什么多说的,后面两个问题

  • http状态值422,貌似已经在框架里面写死了。我想通过捕获验证异常的形式返回自定义的json到前端,这个能实现吗?

    ajax() || $request->wantsJson()) { $errors = []; if ($e instanceof ValidationException && $e->getResponse()) { try { $errors = json_decode($e->getResponse()->getContent(), true); } catch (\Exception $ex) { $errors = $e->getResponse()->getContent(); } } return response()->json([ 'message' => empty($errors) ? (empty($e->getMessage()) ? '出错了' : $e->getMessage()) : implode(',', array_first($errors)), 'status_code' => $e->getStatusCode(), 'errors' => $errors ]); } ... } }
  • 利用jquery的ajax方法在error的时候还是拿不到格式化成json对象的的返回数据,只能拿到一个字符串形式的json

    $.ajax({ ... dataType: "json", ...
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!