ajax在控制器中没有响应

时间:2015-09-02 08:24:26

标签: php

我遵循了以下教程 http://tutsnare.com/post-data-using-ajax-in-laravel-5/

public function login(Request $request) {
    // Getting all post data

       if($request->ajax()){
                //return redirect()->intended('register');

                print_r($request->All());
            }


    }

在上面的代码中打印不打印数据。当我检查控制台

POST XHR http://localhost/poet/public/account/login [HTTP/1.1 200 OK 194ms]

请求是ok。如果我在ajax中添加return redirect url然后在控制台中抛出错误

 POST XHR http://localhost/poet/public/account/login [HTTP/1.0 500 Internal Server Error 100ms]

请告诉我我在哪里做错了

更新

如果我添加print_r($request->all()),它将显示在浏览器的控制台中。即使我添加

return Redirect::to('register');

然后整个html代码将显示在浏览器的控制台中

1 个答案:

答案 0 :(得分:0)

当您使用ajax发布时,很可能会获得TokenMismatchException。这意味着您没有发送_token的正确值。试试这个

//replace this
//<meta name="_token" content="{!! csrf_token() !!}"/>
//with this
<input name="_token" type="hidden" value="{{ csrf_token() }}">

你的.ajaxSetup应该是这样的。

<script type="text/javascript">
$.ajaxSetup({
   //instead of this
   //headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
   //use this to get the correct token value
   'X-CSRF-TOKEN': $('input[name="_token"]').val()
});
</script>