this is my test ajax in laravel 5 (refer below)
$("#try").click(function(){
var url = $(this).attr("data-link");
$.ajax({
url: "test",
type:"POST",
data: { testdata : 'testdatacontent' },
success:function(data){
alert(data);
},error:function(){
alert("error!!!!");
}
}); //end of ajax
});
and the trigger link
<a href="#" id="try" data-link="{{ url('/test') }}">Try</a>
and my route
Route::post('test', function()
{
return 'Success! ajax in laravel 5';
});
but it gives me error when I run the console in google chrome and it doesnt return the expected response "return 'Success! ajax in laravel 5';"
POST http://juliver.laravel.com/test 500 (Internal Server Error)
whats wrong/problem to my code? anything im missing?
In App\Http\Middleware\VerifyCsrfToken.php you could try updating the file to something like:
This allows you to explicitly bypass specific routes that you do not want verified without disabling csrf validation globally.
Using post jquery instead helped me to solve this problem
90% of the laravel ajax internal server error is due to missing CSRF token. other reasons can inlucde:
You can read further about this in details here: https://abbasharoon.me/how-to-fix-laravel-ajax-500-internal-server-error/
I guess this has been solved by now but still the best thing to do here is to send the token with your form
and then in your ajax
for me this error cause of different stuff. i have two ajax call in my page. first one for save comment and another one for save like. in my routes.php i had this:
and i got 500 internal server error for my save like ajax call. so i change second line http request type to PUT and error goes away. you can use PATCH too. maybe it helps.
While this question exists for a while, but no accepted answer is given I'd like to point you towards the solution. Because you're sending with ajax, and presumably still use the CSRF middleware, you need to provide an additional header with your request.
Add a meta-tag to each page (or master layout):
<meta name="csrf-token" content="{{ csrf_token() }}">
And add to your javascript-file (or section within the page):
See https://laravel.com/docs/master/csrf#csrf-x-csrf-token for more details.