مرکز آموزش میهن وب هاست

مرکز آموزش میهن وب هاست

رفع خطای 405 Method not allowed در Node.js

پرینت این مقاله پرینت این مقاله

خطای 405 Method Not Allowed در Node.js معمولاً زمانی رخ می دهد که درخواست HTTP ارسال شده به سرور از متدی استفاده می کند که برای آن مسیر (route) تعریف نشده است. به طور کلی، این خطا نشان دهنده عدم تطابق روش درخواستی بوده و در این حالت هیچ ارتباطی بین مرورگر و سرور برقرار نخواهد شد و تبادل اطلاعات صورت نمی گیرد.

در ادامه مراحل رفع خطای 405 در Node.js توضیح داده خواهند شد. 

1- بررسی متد درخواست

مطمئن شوید که متد درخواست شده از سمت کلاینت (مثلاً POST) با متدی که در سرور و پروژه تعریف گردیده است، مطابقت دارد. برای مثال یک پروژه ساده با استفاده از Express.js در Node.js را در نظر بگیرید که دارای کدهای زیر می باشد:

const express = require('express');
const app = express();
// تعریف یک مسیر (Route) برای متد GET
app.get('/api/data', (req, res) => {
    res.send('این پاسخ به درخواست GET است.');
});
app.listen(3000, () => {
    console.log(پروژه روی پورت 3000 در حال اجراست.');
});
در این کد، پروژه فقط برای مسیر api/data/ و متد GET تعریف شده است. حالا اگر کلاینت سعی کند یک درخواست POST به همین مسیر (api/data/) ارسال نماید، سرور خطای 405 Method Not Allowed را برمی‌گرداند، زیرا متد POST برای این مسیر تعریف نشده است. لذا می بایست متد POST نیز در پروژه تعریف گردد تا خطا رفع شود. راه حل دیگر، تغییر متد سمت کلاینت می باشد. 
2- بررسی مسیر (Route)

بررسی کنید که مسیر درخواست از سمت کلاینت با مسیری که در پروژه تعریف شده است مطابقت دارد یا خیر. در صورت عدم تطابق لازم است مسیرها را یکسان نمایید. 

3- بررسی Middleware

اگر در کدهایتان از Middleware استفاده می کنید، می بایست پیکربندی آن را بررسی و از هدایت درخواست به مسیر درست اطمینان حاصل نمایید.

منظور از Middleware ها یک تابع یا مجموعه ای از توابع است که درخواست های HTTP را قبل از رسیدن به مسیر نهایی (Route) پردازش می کنند. Middleware ها می توانند برای انجام کارهایی مانند بررسی اعتبار کاربر (Authentication)، ثبت لاگ درخواست ها (Logging)، پردازش داده های ارسالی (Parsing Request Data)، بررسی مجوزها (Authorization) و … استفاده شوند.

4- بررسی لاگ خطا

در سی پنل وارد "File Manager" شوید و سپس به مسیر پروژه تان بروید. در فایلی با نام "stderr.log" می توانید لاگ دقیق تری از خطا را مشاهده و سپس نسب به رفع آنها اقدام نمایید. 

تصویر(1)
5/5 از 1 رای