【问题标题】:Laravel ajax form submit validation message not workingLaravel ajax表单提交验证消息不起作用
【发布时间】:2016-12-20 08:08:15
【问题描述】:

我正在使用 Laravel 5.2,并且我正在使用 Laravel 的表单后验证方法。它正在按预期进行验证。但如果验证失败,它应该将错误消息作为 JSON 返回,因为我正在发送 ajax 请求。但它以 html 形式返回上一页。 我的要求是这样的:

根据https://laravel.com/docs/5.2/validation#working-with-error-messages 中的 Laravel 文档,它应该返回一个 json。有什么我错过的吗?

【问题讨论】:

  • 检查你的标题,试试"Accept": "application/json"或dataType : 'json'
  • 它符合您的建议。谢谢!

标签: ajax laravel laravel-5


【解决方案1】:

当验证失败时,响应为 422 HTTP 状态码。在 ajax 中,您需要在 error: 部分获取它。

如下所示:

$.ajax({
    url: url,
    type: "POST",
    data: formData,
    success: function(data) {
        // Process if there is not error
    },
    error: function(data){
        // Error in json object. Process with errors.
    }
});

【讨论】:

  • 我已经按照你说的处理了这个错误。但它返回 200 响应。这就是我发布这个问题的原因。它应该返回 422
  • 您好,我添加了 setRequestHeader('Accept', 'application/json, text/javascript')
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-08
  • 1970-01-01
相关资源
最近更新 更多