راکت

مشکلم با url ها در vue cli

1 پاسخ

درود دوستان
ببینید توی vue cli وقتی روتر استفاده میکنی یه مشکلی هست
مثلا بخوای کاربرو توی یه سایت دیگه ریدارکت کنی مثلا www.site2.com و اگه سایت خودت باشه www.site1.com اگه از تک a استفاده کنی اون جایی که تورو میفرسته این آدرسه www.site1.com/www.site2.com انگار دقیقا اون آدرسو بعد از آدرس خودت میاره و تو سایت خودت میمونی و نمیتونی کاربرو به سایت دیگه ای بفرستی و از طرفی نمیتونی یک دکمه ای بسازی که اگه کاربر رو دکمه ای کلیک کرد یه چیزیو دانود کنه و دلیلش هم همونی که الان گفتم
حالا چطوری این مشکلات رو حل کنم؟؟

ثبت پرسش جدید

پاسخ‌ها

1
مهدی نظری
مهدی نظری
@mahdi.nazari

تخصص: توسعه دهنده Front End

سلام امیرمهدی جان🖐
امیدوارم حالت خوب و عالی باشی✨

مشکلی که شما توضیح داده‌اید به نظر می‌رسد که با CORS (سیاست‌های امنیتی مرورگر برای درخواست‌های متقابل دامنه) و یا تنظیمات روتر در Vue Router مرتبطه . برای حل این مشکلات، میتونید اقدامات زیر را انجام بدین :

  1. تنظیمات Vue Router:
    در فایل router.js یا فایل مشابهی که از Vue Router برای تنظیم مسیرها استفاده میکنی ، مطمئن شوکه برای انتقال به دیگر دامنه‌ها، از تنظیمات mode: "history" استفاده میکنی به این ترتیب، URL‌ها بدون # ایجاد می‌شوند و از اشکالات CORS درخواست‌های متقابل دامنه کم میشه می‌شود. مثلا:

    const router = new VueRouter({
     mode: "history",
     routes: [
       // مسیرهای خودتان
     ]
    });
  2. تنظیمات CORS بر روی سرور:
    اگر شما قصد دارید از یک دامنه به دامنه دیگری درخواست HTTP کنی ، باید سرور مقصد (دامنه دیگر) تنظیمات CORS مناسبی داشته باشه . باید در سرور مقصد، سرور API یا سایت مقصد، فایل‌های تنظیمات CORS را تنظیم کنی تا اجازه درخواست‌های از دامنه‌های مختلف را بده.

  3. استفاده از تگ <a> برای لینک‌های خارجی:
    برای لینک‌هایی که به دامنه‌های دیگر اشاره دارن و تغییر دامنه لازمه ، بهتر است از تگ <a> به جای استفاده از Vue Router استفاده کنی . این تگ به طور پیش‌فرض به صفحه مربوط به آدرس داده شده منتقل میشه و مشکلی با CORS ایجاد نمی‌کنه .

مطمئن بشین که تنظیمات Vue Router و سرور شما مناسب باشن و به این ترتیب مشکلات CORS برای درخواست‌های متقابل دامنه حل بشن . همچنین برای دکمه‌ها و اقداماتی که نیاز به انتقال به دامنه دیگر دارند، از تگ <a> استفاده کنی

امیدوارم پاسخم بهت کمک کرده باشه ❤️
موفق و پیروز باشی 🤘🌹

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام