передача данных из контроллера в jquery с использованием json - PullRequest
0 голосов
/ 26 июня 2018

Я хочу передать данные из контроллера в jquery, используя json, не знаю, в чем проблема, но из кода jquery я думаю, что он работает нормально, так как я тестировал код успеха, но не могу получить результат от контроллера

home.blade

    <form role="form" name="form_address" id="form_address" action="" method="POST"  enctype="multipart/form-data">
     {{ csrf_field() }}
  <input type="text" id="postal_code" onFocus="geolocate()">
  <input type="text" id="totaldistance"  onFocus="geolocate()">
 </form>
  <button id="save_address">Save</button>
 <script>
$("#save_address").click(function (e) {
$.ajaxSetup({
    headers: {
         'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
    }
   });

   e.preventDefault();
  var form = document.forms.namedItem("form_address");
  var formData = new FormData(form); 
  $.ajax({
     type: "get",
    url: 'Get_distance',
    contentType: false,
    data: formData, 
    processData: false,
    success: function(data) {
      $('#totaldistance').val(data.distance); 
    }
   });
  });

web.php

Route::post('Get_distance','HomeController@getdistance');

контроллер

public function getdistance(Request $request)
{
  $distance =$request->postal_code;

  return Response::json(array(
    'distance' => $distance,  
  ));
}

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Ваш определенный маршрут в web.php является запросом POST, но ваш метод Ajax установлен на запрос GET. Измените web.php на запрос GET, чтобы он работал. Обязательно предоставьте функцию ошибок, чтобы перехватывать любые ошибки со стороны сервера.

Или наоборот, измените запрос Ajax на POST, поскольку вы уже добавили настройку csrf.

0 голосов
/ 26 июня 2018

Измените тип ajax на POST, потому что тип вашего маршрута POST, а не GET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...