#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);
});
}