मैं लैरावेल 8 का उपयोग कर रहा हूं और मैं ऑथ मॉड्यूल में निर्मित का उपयोग कर रहा हूं। मैं अजाक्स अनुरोध का उपयोग कर मोबाइल से लॉगिन कर रहा हूं। जब उपयोगकर्ता लॉगिन और पृष्ठ पुनर्निर्देशित करता है तो मुझे त्रुटि/अपरिभाषित मार्ग मिलता है। मैं त्रुटि का स्क्रीन शूट संलग्न करता हूं। यहां छवि विवरण दर्ज करें मेरा अजाक्स कोड है,

$.ajax({
            type: "POST",
            url: "/login",
            headers:
                {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
            data: {
                'mobile' : user.phoneNumber
            },
            success: function (response){
                if (response.status === true){
                    // console.log('here')
                    // debugger
                    // window.location.reload();
                }
                window.location = response.url;
            }
        });

और मेरा नियंत्रक है, यहां मैं जांचता हूं कि उपयोगकर्ता मौजूद है या नहीं और यदि मौजूद नहीं है तो पुनः लोड करें, फिर नया बनाएं और डैशबोर्ड पर रीडायरेक्ट करें। यदि उपयोगकर्ता मौजूद नहीं है तो यह ठीक काम कर रहा है यदि उपयोगकर्ता मौजूद है तो मुझे समस्या का सामना करना पड़ रहा है

public function login(Request $request)
{
    // Check validation
    $this->validate($request, [
        'mobile' => 'required|regex:/[0-9]{10}/',
    ]);

    // Get user record
    $user = User::where('mobile', $request->mobile)->first();

    if($user){
        // Check Condition Mobile No. Found or Not
        if($request->mobile != $user->mobile) {
            return response()->json(
                [
                    'status' => false,
                    'message' => 'Your mobile number not match in our system..!!'
                ], Response::HTTP_OK
            );
        }

        // Set Auth Details
        Auth::login($user);

        return \response()->json(
            [
                'status' => true,
                'message' => 'Login Successfully'
            ], Response::HTTP_OK
        );
    }else{
        Cookie::queue('otpVerified', true);
        Session::put('mobile',$request->mobile);
        return response()->json(
            [
                'status' => false,
                'message' => 'User Not Exist',
                'url' => route('register')
            ], Response::HTTP_OK
        );
    }

}

मेरी मार्ग फ़ाइल है,

Route::get('language/{key}', [SwitchLanguageController::class, 'switchLanguage'])->name('language');


Route::get('register', [RegisterController::class, 'showRegistrationForm'])->name('register')->middleware(['otpVerify']);

Auth::routes();
Route::group(['middleware' => 'auth'], function (){
Route::get('/404', [\App\Http\Controllers\ErrorController::class, 'notFound'])->name('404');
Route::get('/', [\App\Http\Controllers\Dashboard\DashboardController::class, 'index'])->name('dashboard');
});

कैसे मैं इस मुद्दे को हल कर सकता हूँ। धन्यवाद

0
Irshad Khan 30 पद 2020, 14:17

1 उत्तर

सबसे बढ़िया उत्तर

सफलतापूर्वक लॉगिन करने के बाद आपको url भेजने की आवश्यकता है

 return \response()->json(
            [
                'status' => true,
                'message' => 'Login Successfully'
                'url' => url('/') // add this whatever you want
            ], Response::HTTP_OK
        );

और जावा स्क्रिप्ट में एक चेक जोड़ें

if (response.url){
   window.location = response.url;                    
}
                
1
Kamlesh Paul 30 पद 2020, 14:19
आपका बहुत-बहुत धन्यवाद आपने मेरा दिन बचा लिया। इसका काम ठीक
 – 
Irshad Khan
30 पद 2020, 14:24
क्या आप इस मुद्दे पर मेरी मदद कर सकते हैं। stackoverflow.com/questions/65503121/…
 – 
Irshad Khan
30 पद 2020, 14:34