Laravel AJAX петля - PullRequest
       3

Laravel AJAX петля

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

Итак, я пытаюсь сохранить информацию из формы в базу данных.Тем не менее, сообщение, которое я получаю, представляет собой цикл, в котором memory_limit растет без остановки, что я искренне не знаю, как оно может появиться.

Первоначально я пытался изменить memory_limit в php.ini, потому что я не видел, что вызвало проблему.После этого я увидел, что происходит, но с тех пор я пытаюсь это решить.

Как можно решить то, что вы не знаете, как оно работает.

Маршрут:

Route::resource('/office', 'OfficeController');

Форма:

<form id="officeForm">
  <input type="text" name="office_name" placeholder="Има на офис..."><br>
  <input type="text" name="director" placeholder="Управител..."><br>
  <input type="text" name="address" placeholder="Адрес..."><br>
  <input type="text" name="phone_number" placeholder="Телефонен номер..."><br>
  <input type="text" name="working_time" placeholder="Работно време...">
  <button class="btn btn-primary" id="officeSubmit">Добавяне</button>
</form>

AJAX:

$('#officeSubmit').click(function(e) {
  e.preventDefault();
  $.ajaxSetup({
    headers: {
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
  });
  $.ajax({
    url: "/office",
    method: 'POST',
    data: {
      office_name: $('input[name=office_name]').val(),
      director: $('input[name=director]').val(),
      address: $('input[name=address]').val(),
      phone_number: $('input[name=phone_number]').val(),
      working_time: $('input[name=working_time]').val()
    },
    success: function() {
      $('input[name=office_name]').val('');
      $('input[name=director]').val('');
      $('input[name=address]').val('');
      $('input[name=phone_number]').val('');
      $('input[name=working_time]').val('');
    }
  });
});

Контроллер:

public function store(Request $request)
{
    $this->validate($request, [
        'office_name' => 'required',
        'director' => 'required',
        'address' => 'required',
        'phone_number' => 'required',
        'working_time' => 'required'
    ]);

    var_dump($request);

    $office = new Office();
    $office->office_name = $request->office_name;
    $office->director = $request->director;
    $office->address = $request->address;
    $office->phone_number = $request->phone_number;
    $office->working_time = $request->working_time;
    $office->save();

    return view('home');
}

1 Ответ

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

В своем коде ajax вы использовали

method: 'POST',

, но в своем маршруте вы объявили его ресурсом.попробуйте изменить его на

Router::post('/office', 'OfficeController@store');

, а также в своей форме вы не написали

<form method="POST" .....>

И в последней строке вашего магазина вы использовали метод

return view('home');

сделать это

return redirect('/home');

Также вы всегда можете проверить на вкладке Сеть вашего браузера, какой код возвращает HTTP-запрос.Это 500 или другие?200 в порядке.Чтобы перейти на вкладку «Сеть», щелкните правой кнопкой мыши и выберите «Проверить элементы». Существуют и другие вкладки, такие как «Элементы», «Консоль», «Источники», а затем «Сеть»

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