Сообщение Axios не отправляется в laravel

#ajax #laravel #axios #http-post

#ajax #laravel #axios #http-post

Вопрос:

Я отправляю запрос axios контроллеру входа в систему laravel. Код Axios

          attemptLogin()
            {
              axios.post('/login',

              {email:this.email, password:this.password, remember_me:this.remember_me},
               { headers: {
                  'Content-type': 'application/x-www-form-urlencoded',
                          },
               }).then((resp) => {
                    console.log(resp);
                    // location.reload();
                }).catch(error => {
                    this.errorMessage = error.message;
                     console.error("There was an error!", error);
                })
            }
  

Код контроллера входа

 protected function authenticated(Request $request, $user)
    {
        // return "Login successfull";
        return view('home');
    }
  

Я не понимаю, что происходит, консоль не отображается без ошибок.

Комментарии:

1. вы проверили свою вкладку сети, если есть какие-либо действия?

2. Да, активности нет

3. вы вызываете функцию attemptLogin и получаете ли вы что-нибудь на своей консоли или на вкладке сети?

4. Используете ли вы веб-маршруты в Laravel? потому что, если это так, из-за неправильных учетных данных laravel вернет вас на предыдущую страницу, так что, возможно, вы перенаправляетесь в своем ответе. Также попробуйте включить токен csrf .

5. Можете ли вы предоставить некоторые подробности о том, как вызывается этот код?

Ответ №1:

Браузер что-нибудь показывает? Из того, что вы указали, вы должны убедиться, что запрос попадает в функцию входа в LoginController. Вы должны попасть в этот класс признаков, а затем ваш запрос будет обработан.

 class LoginController extends Controller
{
   use AuthenticatesUsers;

   public function __construct()
   {
      $this->middleware('guest')->except('logout');
   }
}
  

Ответ №2:

На самом деле я отвечаю на это сам, потому что нахожу точную проблему, делаю ошибку в синтаксисе axios,

правильный синтаксис приведен ниже

 attemptLogin()
{
    axios.post('/login', {
    email:this.email, password:this.password, remember_me:this.remember_me
   }).then(function (response) {
      console.log(response);
   }).catch(function (error) {
      console.log(error);
   });
}