一つの方法は、からsendLoginResponse()
とsendFailedLoginResponse()
メソッドをオーバーライドすることですあなたは、JavaScriptからそれを得るために、AJAXの応答を解析する必要があり、このようになります。リクエストがajaxであるかどうか(またはjsonが必要であるかどうか)を確認できるようにします。あなたに
追加Auth/LoginController
:
/**
* Send the response after the user was authenticated.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendLoginResponse(Request $request)
{
$request->session()->regenerate();
$this->clearLoginAttempts($request);
if ($request->ajax() || $request->wantsJson()) {
return response()->json([
'user' => $this->guard()->user(),
]);
}
return $this->authenticated($request, $this->guard()->user())
?: redirect()->intended($this->redirectPath());
}
/**
* Get the failed login response instance.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\RedirectResponse
*/
protected function sendFailedLoginResponse(Request $request)
{
if ($request->ajax() || $request->wantsJson()) {
return response()->json([
$this->username() => Lang::get('auth.failed'),
], 422);
}
return redirect()->back()
->withInput($request->only($this->username(), 'remember'))
->withErrors([
$this->username() => Lang::get('auth.failed'),
]);
}
これはあなたのプロジェクトのために同じroutes
に維持できるようにする必要があります。
また、あなたがdataType: 'json'
を追加する場合、それはすなわちあなたのための応答を解析する必要があります。:
$.ajax({
data: data,
url: 'http://mywebsite.com/login',
dataType: 'json',
method: 'post',
success:function(response){
console.log('success', response);
},
error: function() {
console.log('error', response)
}
});
・ホープこのヘルプ!
ログインフォームを送信するには、ajaxを使用していますか? –
@RossWilson:はい私のフォームを提出するためにjQueryのajaxを使用しています – SanketR
あなたのPHPスクリプトも提供します – Beginner