@RaptorVRN

В laravel контроллер не видит ajax данные через post, в чем проблема?

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 );
    }
  • Вопрос задан
  • 251 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы