Using Ajax and returning json array in laravel 5 Using Ajax and returning json array in laravel 5 ajax ajax

Using Ajax and returning json array in laravel 5


Laravel 5 uses csrf token validation for security reasons....try this...

  1. In routes.php

    route post('form-data', 'FormController@postform');
  2. In master layout file

    <meta name="csrf-token" content="{{ csrf_token() }}" />
  3. var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
    $.ajax({    url: '/form-data/',    type: 'POST',    data: {_token: CSRF_TOKEN},    dataType: 'JSON',    success: function (data) {        console.log(data);    }});


Add error callback to your ajax request to find if an error is thrown,

$.ajax({  type    :"POST",  url     :"http://localhost/laravel/public/form-data",  dataType:"json",  data    :{ data1:data },  success :function(response) {    alert("thank u");  },  error: function(e) {    console.log(e.responseText);  }});

its better to use console.log() to see detailed information even if the response is a json string. Try the code and let us know if something is logged to the browser console


Your jQuery code has syntax error in success callback, that's why its not making any post request to Laravel, please try below javascript it will work

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script><select><option data-id="a" value="a">a</option><option data-id="b" value="b">b</option><option data-id="c" value="c">c</option></select><script type="text/javascript"> $(function () {   	$('select').on('change', function (e) { 		var data = $(this).children('option:selected').data('id');	$.ajax({		type    :"POST",    	dataType:"json",		url     :"http://localhost/laravel/public/form-data",		data    :{ data1:data },		success :function(response) {				alert("thank u");		}	});});})</script>