编程语言
首页 > 编程语言> > php – 当我尝试使用Laravel控制器方法处理AJAX请求时,为什么我会获得此异常?

php – 当我尝试使用Laravel控制器方法处理AJAX请求时,为什么我会获得此异常?

作者:互联网

我是PHP和Laravel的绝对新手,我有以下问题.

从我的角度来看,我通过这个代码通过JQuery执行AJAX POST请求:

jQuery.ajax({
  url: '/doSearch',
  type: 'POST',
  dataType: 'json',
  //data: $form.serialize(),
  success: function(data){
   console.info('ssssssssssiiii',data);
     },
     error: function(data, b){
   console.info('erroreeeeee');
     }
 });

此POST请求由这个简单的控制器方法处理:

public function doSearch(){
    echo 'SEARCHED';
}

必须返回SEARCHED字符串的视图.

问题是我收到此错误消息:

http://localhost:8000/doSearch 500 (Internal Server Error)

这是由TokenMismatchException引发的异常创建的,在Laravel stackrace中,我可以看到如下内容:

in VerifyCsrfToken.php line 68
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Router.php line 644
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 618
at Router->dispatchToRoute(object(Request)) in Router.php line 596
at Router->dispatch(object(Request)) in Kernel.php line 267
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) in Pipeline.php line 53
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 46
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 137
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in Pipeline.php line 33
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Pipeline.php line 104
at Pipeline->then(object(Closure)) in Kernel.php line 149
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 116
at Kernel->handle(object(Request)) in index.php line 54
at require_once('C:\xampp\htdocs\www.betrivius.it\application\public\index.php') in server.php line 21

为什么?可能是什么问题呢?我该如何解决这个问题?

TNX

解决方法:

如果您正在编写.php页面而不是.html页面

试试这个:

<meta name="csrf-token" content="<?php echo csrf_token(); ?>">

代替:

<meta name="csrf-token" content="{{ csrf_token() }}">

这个对我有用.

标签:laravel-routing,php,jquery,laravel,laravel-5
来源: https://codeday.me/bug/20190724/1524147.html