This is how you can use jQuery to POST data and retrieve it within the controllers.
To Send Data:
First off on the page where you are POSTing data from, you need to have a CSRF_TOKEN as a meta tag.
<meta name="csrf_token" content="{{ csrf_token() }}" />
Then in the JavaScript, pull the token and send it along with the POST as headers.
<script type="text/javascript">
var CSRF_TOKEN = $('meta[name="csrf_token"]').attr('content');
var jsonData = "{ 'data' : 'data' }";
$.ajax({
url: '/route/path',
type: 'POST',
data: jsonData,
headers: {
'X-CSRF-TOKEN': CSRF_TOKEN
},
dataType: 'JSON',
success: function (data) { }
});
</script>
To Retrieve Data:
Setup a post route in /app/Http/routes.php
Route::post('/route/path', 'ControllerName@controllerMethod');
Then setup the controller
class ControllerName extends Controller
{
public function controllerMethod()
{
$jsonData = Input::json()->all();
// Do Something Here
return response()->json("{ 'data' : 'data' }");
}
}
To Send Data:
First off on the page where you are POSTing data from, you need to have a CSRF_TOKEN as a meta tag.
<meta name="csrf_token" content="{{ csrf_token() }}" />
Then in the JavaScript, pull the token and send it along with the POST as headers.
<script type="text/javascript">
var CSRF_TOKEN = $('meta[name="csrf_token"]').attr('content');
var jsonData = "{ 'data' : 'data' }";
$.ajax({
url: '/route/path',
type: 'POST',
data: jsonData,
headers: {
'X-CSRF-TOKEN': CSRF_TOKEN
},
dataType: 'JSON',
success: function (data) { }
});
</script>
To Retrieve Data:
Setup a post route in /app/Http/routes.php
Route::post('/route/path', 'ControllerName@controllerMethod');
Then setup the controller
class ControllerName extends Controller
{
public function controllerMethod()
{
$jsonData = Input::json()->all();
// Do Something Here
return response()->json("{ 'data' : 'data' }");
}
}
Comments