Laravel 5.2文档声明:
AJAX请求&验证
在此示例中,我们使用传统表单将数据发送到 应用。但是,许多应用程序使用AJAX请求。使用时 在AJAX请求期间的验证方法,Laravel不会生成 重定向响应。相反,Laravel会生成JSON响应 包含所有验证错误。这个JSON响应将是 使用422 HTTP状态代码发送。
Src:https://laravel.com/docs/5.2/validation#quick-ajax-requests-and-validation
然而,这看起来并不正确。使用验证对路径进行简单的CURL调用仍会返回HTML /重定向:
curl -X POST -H "Content-Type: application/json"
-H "Cache-Control: no-cache"
-d '{}' "http://yours.com/user/register"
以上的回应是HTML和重定向。它不是JSON。
即使是这个页面:https://laravel.com/docs/5.2/requests#retrieving-input州:
检索JSON输入值
向您的应用程序发送JSON请求时,您可以访问 JSON数据通过输入法只要Content-Type头 请求已正确设置为application / json。
那么我们错过了什么?解决方案是什么?
答案 0 :(得分:1)
您似乎还需要以下标题:
"X-Requested-With: XMLHttpRequest"
因此:
curl -X POST -H "Content-Type: application/json"
-H "X-Requested-With: XMLHttpRequest"
-H "Cache-Control: no-cache"
-d '{}' "http://yours.com/user/register"
现在$this->validate(...)
正在返回JSON响应。