Laravel 验证返回状态码 302

10

我有一个表单,可以通过表单发送数据并在控制器中获取并查看数据,但是当我使用以下验证时:

$validation= $request->validate([
  'title' => 'required|unique:posts|max:255',
   'body' => 'required',
   'message' => 'required'
  ]);

我收到了302状态码,但不知道该怎么做。


302状态码表示重定向。您正在响应中将用户重定向。 - milo526
你也在使用 AJAX 吗? - Giorgi Lagidze
3个回答

44

Http状态码302表示API(服务器)请求重定向。 如果验证不通过,则这是Laravel验证的预期行为。 如果您想让Laravel返回json,可以将以下键值对添加到您的请求头中。

accept: application/json

2
我知道我不应该写+1评论。但是你刚刚解决了两个小时痛苦的搜索!祝你有美好的一天 :) - jaumebalust
请记住,如果您需要使用isAjax函数,这并不意味着您的请求是ajax,还必须使用X-Requested-With标头。 - Steve Moretz
对于 isAjax,键值对应该是 X-Requested-With: XMLHttpRequest。 - Hilmi Erdem KEREN

3
如果您想测试该路由,我建议使用以下方法:->postJson('/api/users'),而不仅仅是 ->post('api/users')。这将有助于更好地检测该路由的功能。

0

在ajax头部中插入Accept: application/json

                $.ajax({
                url:'{{route('fetchMunCit')}}' +'/'+id,
                type:'GET',
                dataType:'json',
                Accept: application/json
                    success:function(response)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接