آموزش جاوااسکریپت انجمن ها Nodejs مشکل در قسمت 17

در حال نمایش 12 نوشته (از کل 12)
  • نویسنده
    نوشته‌ها
  • #42843 پاسخ
    MR.Mostafa
    مشارکت کننده

    سلام
    توی این قسمت چرا توی کدها یک دفعه تغییر ایجاد شد؟
    اسم بعضی از متدها رو هم تغییر داده بودید. این روش اصلا مناسب نیست.
    همچنین توی این قسمت به یک مشکل خوردم و عملیات فراموشی رمز عبور انجام نمی‌شه.
    وقتی فرم سند می‌شه با این ارور مواجه می‌شم:
    Cannot POST /auth/password/email

    همچنین فیلد کپجا هم کار نمی‌کنه
    ممنون می‌شم بررسی بفرمایید و مشکل هایی که وجود داره رو بفرمایید.
    لینک دانلود پروژه:
    http://yekupload.ir/cf3cd2543e9aed3d/reactapp-nodeJS-part17.zip

    #42845 پاسخ
    MR.Mostafa
    مشارکت کننده

    مشکل برطرف شد.
    مشکل اولی اشتباه از سمت خودم بود و آدرس route رو به درستی تغییر نداده بودم.
    دومی هم فکر می‌کنم مشکل از طرف شما بود، چون توی متد post شما متد resetLinkProcess رو از کنترلر ForgetPasswordController فراخوانی کردید، در حالی که باید passwordResetLink فراخوانی می‌شد. (که عملیات کپچا روی این متد داره بررسی می‌شه)

    #42846 پاسخ
    MR.Mostafa
    مشارکت کننده

    توی همین قسمت یک مشکل دیگه هم که وجود داره اینه که فیلد use از کالکشن passwordresets به درستی true نمی‌شه. (وقتی از توکن استفاده می‌کنیم)
    البته جناب کیانی به این موضوع اشاره کردن و به صورت دستی از دیتابیس این فیلد رو true کردن و وقتی مجدد تست کردن، چون لاگین بودن عمل ریدایرکت انجام شد.
    که این عمل ریدایرک به خاطر لاگین بودنش بود و نه به خاطر اینکه فیلد use مقدارش true شده بود.

    #42848 پاسخ
    MR.Mostafa
    مشارکت کننده

    یکسری ایرادات دیگه هم داره
    کلا این قسمت اصلا خوب نبود.

    #42863 پاسخ
    علی
    مشارکت کننده

    سلام
    دلیل اینکه عناوین برخی متودها عوض شده برمی گرده به جلسه 10 که captcha رو پیاده سازی کردیم و کاملا تو این قسمت توضیح دادم و ویدیو مجددا ضبط شده و شاید تفاوت متودها دلیلش این باشه و در رابطه با مشکل دومی که داشتین (use) بله تو این جلسه متوجه این مشکل نشدم که البته تو جلسات بعد از این بهش اشاره شده و برطرف شده. ممنون از توجهتون به ارورهایی که گاه بی گاه ممکن داخل دوره اتفاق افتاده باشه و من متوجهشون نشده باشم.

    #42880 پاسخ
    MR.Mostafa
    مشارکت کننده

    مشکل رو پیدا کردم.
    مشکل اول اینه که در فایل resetPasswordController متد resetPassword، موقعی که ایمیل و توکن رو دارید پیدا می‌کنید، از await استفاده نکردید، به خاطر همین همیشه undifinded برمی‌گردونه. در نتیجه در همه حال پسورد تغییر می‌کنه. حتی اگر توکن صحیح نباشد.
    مشکل دوم هم این هست (توی همون فایل) که شما وقتی دارید اطلاعات رو از دیتابیس می‌خونید، توکن رو از req.body.token دریافت می‌کنید. در صورتی که توی ریکوئست ما همچین فیلدی وجود نداره. برای رفع این مشکل من یک input:hidden ساختم و و مقدار توکن رو به این فیلد دادم. درنتیجه وقتی کاربر submit می‌کنه، توکن رو از سمت بک می‌تونم دریافت کنم و مشکل برطرف می‌شه.

    #42895 پاسخ
    علی
    مشارکت کننده

    برای تمامی فرآیندهایی که دیتابیس رو درگیر میکنه از async/await باید استفاده کنیم از طرفی در رابطه با req.body.token باید بگم که با توجه به route که تعریف کردیم باید از req.params.token استفاده کنیم و در این صورت نیازی به تعریف input نیست

    #42901 پاسخ
    MR.Mostafa
    مشارکت کننده

    اتفاقا از req.params.token استفاده کردم، ولی وقتی لاگ گرفتم این رو هم undefined برمی‌گردوند. (خودم هم دنبال راهی غیر از input:hidden بودم ولی پیدا نکردم)
    چیزی که من خودم متوجه شدم، به این علت به req.params.token دسترسی نداریم، چون آدرس روتر get و post مون فرق می‌کنه. req.params.token در متد get روتر هست، اینو چطوری باید بفرستیم برای متد post که آدرسش فرق می‌کنه؟
    اگر امکانش هست ممنون می‌شم این مورد رو بیشتر توضیح بدید.

    #42935 پاسخ
    MR.Mostafa
    مشارکت کننده

    جناب کیانی در خصوص req.params.token بنده همچنان منتظر پاسخ‌تون هستم.

    #42984 پاسخ
    علی
    مشارکت کننده

    شما اگر post(…/:token) به این صورت تعریف می کنید که از input:hidden استفاده کنید و اگر از get(…/:token ) استفاده می کنید که req.params.token جواب میده و تست کردم و مشکلی نداشت زمانی که حتی شما متود get و برای route در نظر میگیرین میتونید با req.params.token این token رو دریافت و برای فرم ارسال و درنهایت توی value یک input:hidden قرار بدین و درنهایت با دستور req.body.token اون رو دریافت و عملیات مورد نظر رو انجام بدین.

    #42987 پاسخ
    علی
    مشارکت کننده

    تغییرات و روی پروژه دادم و به جیمیلتون ارسال کردم چک بفرمایید

    #43004 پاسخ
    MR.Mostafa
    مشارکت کننده

    ممنونم از لطفتون و وقتی که گذاشتید.

در حال نمایش 12 نوشته (از کل 12)
پاسخ به: مشکل در قسمت 17
اطلاعات شما: