简体   繁体   中英

MethodNotAllowedHttpException in RouteCollection.php error while sending huge amount of array data in Laravel 5

I am sending a huge amount of array data through ajax using Laravel. But every time it's giving me MethodNotAllowedHttpException in RouteCollection.php error. Below is the AJAX code

AJAX Code

function getDataSet(data){
         $.ajax({
            url: base_url+'/get-data-set',
            data:{'data':data},      
            type:"POST",
            success:function(response){
                console.log(response);
            },              
         });        
    }

Route:

Route::post('get-data-set',function(){ /* Do something*/ exit; });

Error Description

    in RouteCollection.php line 207
at RouteCollection->methodNotAllowed(array('POST')) in RouteCollection.php line 194
at RouteCollection->getRouteForMethods(object(Request), array('POST')) in RouteCollection.php line 142
at RouteCollection->match(object(Request)) in Router.php line 729
at Router->findRoute(object(Request)) in Router.php line 652
at Router->dispatchToRoute(object(Request)) in Router.php line 628
at Router->dispatch(object(Request)) in Kernel.php line 214
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 43
at VerifyCsrfToken->handle(object(Request), object(Closure)) in VerifyCsrfToken.php line 17
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 55
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 61
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 36
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 40
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 125
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101
at Pipeline->then(object(Closure)) in Kernel.php line 115
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 84
at Kernel->handle(object(Request)) in index.php line 53

You may use incorrect route post request. To easy maintenance in your route should following

Route::post('/get-data-set',function(){ /* Do something*/ })->name('post.data');

And ajax code should

function getDataSet(data){
     $.ajax({
        url: "{{ route('post.data') }}",
        data:{'data':data},      
        type:"POST",
        success:function(response){
            console.log(response);
        },              
     });        
}

You forgot csrf token on your post request.

function getDataSet(data){
     $.ajax({
        url: base_url+'/get-data-set',
        data:{
            'data':data,
            "_token": "{{ csrf_token() }}"
        },      
        type:"POST",
        success:function(response){
            console.log(response);
        },              
     });        
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM