ajax请求期间的laravel验证

时间:2016-05-23 16:02:11

标签: ajax validation laravel request response

请有人从Laravel文档解释此信息"在AJAX请求期间使用validate方法时,Laravel不会生成重定向响应。相反,Laravel会生成包含所有验证错误的JSON响应。此JSON响应将使用422 HTTP状态代码发送。"

在AJAX请求期间"""这到底意味着什么?

如果我这样设置:

  1. 用户从视图中的表单提交输入。
  2. 路由调用控制器中的post方法
  3. 请求在控制器中验证
  4. 案例1)请求通过验证并且输入存储在DB中 - >对于动态更新视图的脚本,响应将作为JSON返回。

    案例2)请求未通过验证,此处返回的内容是什么?我认为重定向,如果不是,你如何检查验证是否未能返回JSON?

    这种情况与文档的内容类似吗?如果不是那么?

2 个答案:

答案 0 :(得分:0)

在这种情况下,对AJAX调用的响应是一个JSON字符串 案例1:如你所说 案例2:带有错误消息的JSON字符串。在“网络”标签中查看您的Chrome开发者工具,您将看到确切的回复。

答案 1 :(得分:0)

处理验证失败时,laravel会自动生成错误响应。通常,这会将用户重定向回其表单,但在AJAX请求的情况下,它将返回一个JSON响应,其中包含验证失败的详细信息。

Laravel依赖于symfony请求对象来检测AJAX请求,特别是this linereturn 'XMLHttpRequest' == $this->headers->get('X-Requested-With');

如果您遇到的问题未被视为AJAX,请确保您的客户正确设置X-Requested-With标题