Я использую Laravel с Ajax.
Я пытаюсь сделать Ajax-вызов для контроллера.Я сделал print_r
на $request
, но у меня есть только токен в массиве, никаких других данных.
Я попытался поиграться с объектом данных в вызове Ajax, который никогда не появляется в запросе.
Вид:
@section('head')
<meta name="csrf-token" content="{{ csrf_token() }}" />
@endsection
<div>
<button type="submit" id="submit" class="btn btn-primary">Confirm</button>
</div>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script type="text/javascript">
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
}
});
</script>
<script type="text/javascript" src="{{ URL::asset('js/test.js') }}"></script>
test.js
$( document ).ready(function()
{
$( "#submit" ).click(function()
{
$.ajax(
{
type:'POST',
url:'{{ route("test") }}',
data:{test: "test"},
success:function(data)
{
console.log(data.msg);
}
});
});
});
Контроллер:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use App\Http\Requests;
use Session;
class testController extends Controller
{
public function test(Request $request)
{
$data = $request->all();
print_r($data);
}
}
Результаты
Array ( [_token] => fKmSJpY0DRyCqzXyDPo2LwiJSD1wEiThVYn29lX7)