سلام
یه سوال
ببینین تو لاراول یه زمانی هست که فرم را داریمبا متد post ارسال میکنیم و مثلا به آدرس dashboard/profile/edit میفرستیمش که پروفایل را در Controller ادیت کنه و به هر دلیلی یه خطایی میده لاراول برای فرم و وقتی دوباره همون صفحه را refresh میکنیم میگه The GET method is not supported for this route. Supported methods: POST.
چجوری این خطاها را مدیریت کنیم ؟
@yk5742g سلام.
این موضوعیه که گستردس ولی جالبه پیشنهاد میکنم راجبش اینجا بخونید .
شما باید ارور هاتون رو هندل کنید که اصطلاحا Error handling میگن بهش.
نمونه ای که اینجا شما میخواین باید برین داخل فولدر app/exceptions و فایل Handler.php و توی این مورد خاص این کد رو به متد render اضافه کنید.
if($exception instanceof \Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException){
return abort('404');
}
که در واقع معنی میده اگر خطای من از نوع خطای متد (MethodNotAllowedHttpException) بود فلان کار رو بکن که اینجا خطای 404 هست .
این هم لینک مرتبط توی stackowerflow
https://stackoverflow.com/questions/46836778/methodnotallowedhttpexception-redirect-to-404
سعی کردم خیلی واضح توضیح بدم . موفق باشید
وقتی با متد post کار میکنید باید عملیات رو از اول انجام بدید یعنی به طور مثال باید برگردید به صفحه قبل و دوباره روی دکمه کلیک کنید و با متد post ارسال کنید و refresh کردن در متد پست به علت مسائل امنیتی ارور میده
میدونم
میخوام بدونم که اون ارور اگر روی سرور باشه را چطور مدیریت کنم که به کاربر نشون نده
@yk5742g
سلام
فک میکنم روت ها رو درست ننوشته باشید
طبیعتا وقتی فرمی قراره ارسال بشه این فرم داخل یه صفحه ای قرار داره و اون صفحه هم یه روت داره ک متدش Get هست
شما ارسال فرم رو هم باید ب همون روت ارسال کنید ولی متدش post باشه
// نمایش صفحه ویرایش پروفایل
Route::get('/dashboard/profile', 'HomeController@viewProfile');
// ویرایش پروفایل
Route::post('/dashboard/profile', 'HomeController@UpdateProfile');
اینطوری اگر خطایی ظاهر بشه و کاربر صفحه رو رفرش کنه مجدد پیج ویرایش پروفایل رو میبینه
@yk5742g سلام.
این موضوعیه که گستردس ولی جالبه پیشنهاد میکنم راجبش اینجا بخونید .
شما باید ارور هاتون رو هندل کنید که اصطلاحا Error handling میگن بهش.
نمونه ای که اینجا شما میخواین باید برین داخل فولدر app/exceptions و فایل Handler.php و توی این مورد خاص این کد رو به متد render اضافه کنید.
if($exception instanceof \Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException){
return abort('404');
}
که در واقع معنی میده اگر خطای من از نوع خطای متد (MethodNotAllowedHttpException) بود فلان کار رو بکن که اینجا خطای 404 هست .
این هم لینک مرتبط توی stackowerflow
https://stackoverflow.com/questions/46836778/methodnotallowedhttpexception-redirect-to-404
سعی کردم خیلی واضح توضیح بدم . موفق باشید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟