我遵循了以下教程 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代码将显示在浏览器的控制台中
答案 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>