используйте serialize для сбора данных
var formData = $('form').serializeArray(),
$.ajax({
url: $("#myform").attr('action'),
type: "POST",
data: formData,
contentType: "application/json",
dataType: "json",
success: function(){
alert("yes");
}
});
для токена, добавьте это в ваш html
<meta name="csrf-token" content="{{ csrf_token() }}">
, затем перед отправкой ajax запроса установите это
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
url: $("#myform").attr('action'),
type: "POST",
data: formData,
contentType: "application/json",
dataType: "json",
success: function(){
alert("yes");
}
});
пример:
file: index.blade. php
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Document</title>
</head>
<body>
<form action="" id="myform">
<input type="text" name="first" id="first">
<input type="text" name="second" id="second">
<input type="text" name="third" id="third">
<button type="button" id="mysubmitbutton">submit</button>
</form>
<script>
$("body").on("click", "#mysubmitbutton", function () {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf- token"]').attr('content') }
});
$.ajax({
type: "POST",
url: "{{ route('myRouteName') }}",
data: {
'first': $("#first").val(),
'second': $("#second").val(),
'third': $("#third").val()
},
success: function (msg) {
alert('wooow');
}
});
});
</script>
</body>
</html>
В этом простом примере я устанавливаю токен csrf в заголовке, затем, когда пользователь нажимает кнопку, я собираю данные и отправляю ajax запрос