Laravel 5.6 + JQuery
При отправке GET, возвращает ответ с исходящими параметрами, при изменении метода на POST, Request::all() возвращает пустой массив.
На OpenServere все работает, при переносе на хостинг ломается.
Что менял на хостинге:
- переадресация из корня в public
- В контроллере //use Illuminate\Http\Request; на use Request (на хостинге почему то только так заработало);
- Прописал X-CSRF-TOKEN.
- Кинул доступы 777 на некоторые папки для теста.
JS
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
<... код не имеющий отношения к вопросу>
$('[js_event=calc]').click(function(event) {
//event.preventDefault();
//options
item = {};
item['width'] = parseInt( $("[js_data=width]").val() );
item['height'] = parseInt( $("[js_data=height]").val() );
item['calc_name'] = $("[js_data=calc_name]").val();
console.log( item['calc_name'] );
console.log( $('meta[name="csrf-token"]').attr('content') );
//item['_token'] = $('meta[name="csrf-token"]').attr('content') ; // в круг решил обмазаться для верности
//item['_method'] = 'POST' ;
$.ajax({
url: '/calculation/json/',
type: 'POST', // c GET работает !!!!!!!!!
data: item,
headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') },
success: function(resp){
console.log( "submit form success" );
console.log( resp );
}
});
event.preventDefault();
});
Контроллер
//use Illuminate\Http\Request;
use Request;
<... код не имеющий отношения к вопросу>
public static function json2() {
return print_r( Request::all(), true );
//return print_r( Request::post(), true );
//return json_encode( Request::all(), JSON_UNESCAPED_UNICODE );
}