$ this-> validate вызывает "Не удалось загрузить данные ответа" - PullRequest
0 голосов
/ 08 июня 2018

У меня есть следующая внешняя форма:

  <form method="POST" action="http://infused.local/leads/post">
    <div class="form-group">
      <label>first_name</label>
      <input type="text" name="first_name" class="form-control">
    </div>

    <div class="form-group">
      <label>last_name</label>
      <input type="text" name="last_name" class="form-control">
    </div>

    <div class="form-group">
      <label>email</label>
      <input type="text" name="email" class="form-control">
    </div>

    <div class="form-group">
      <label>postal_code</label>
      <input type="text" name="postal_code" class="form-control">
    </div>

    <button type="submit" class="btn btn-primary">Submit</button>
  </form>
</div>

Который указывает на следующий метод контроллера:

public function post()
{
    $this->validate(request(), [
        'email' => 'required|email',
    ]);

    echo 'hello';
}

По этому маршруту:

Route::post('leads/post', 'LeadController@post');

Iотключил CSRF защиту для маршрута формы.

  • Когда я отправляю форму, я получаю "Не удалось загрузить данные ответа" из Chrome.
  • Когда я удаляю вызов $this->validate, я получаю "привет" .

Почему это не работает?

Ответы [ 2 ]

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

Вам нужно вернуть JSON, и вы можете использовать вспомогательную функцию :

response()->json([
    'message' => 'hello'
]);

Тогда в вашем JS:

console.log(response.message);
0 голосов
/ 08 июня 2018

ОК, очевидно, метод validate просто перенаправляет вас на предыдущую страницу, если есть ошибки, если ожидается, что ответом будет JSON.Закончился использованием фасада Validator.

Редактировать: Спасибо за отрицательные голоса.Этот сайт является раком.

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