דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. גישה מהקליינט לשרת - עקיפת הראוטר vue

גישה מהקליינט לשרת - עקיפת הראוטר vue

מתוזמן נעוץ נעול הועבר תכנות
16 פוסטים 4 כותבים 261 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי chagold
    #1

    אני מחלק את הפרוייקט לקליינט ושרת (שמשמש כAPI).
    הקליינט בפרוייקט של VUE. את השרת שמתי בתיקיה מקבילה לתיקיית הקליינט
    הקליינט כעת מורץ בפונקציית serve (מתוך vue ui).
    ניסיתי לעשות fetch ראשון לשרת ככה

    fetch('./php/index.php')
      .then(response => response.json())				 
      .then(data => console.log(data));
    

    אבל הוא עובר דרך הראוטר ומחזיר את הframe של הקליינט במקום את נתוני השרת.
    איך אני אמור לגשת?
    תודה.

    chagoldC yossizY 2 תגובות תגובה אחרונה
    0
    • chagoldC מנותק
      chagoldC מנותק
      chagold
      השיב לchagold ב נערך לאחרונה על ידי
      #2

      יותר נכון לעשות את הAPI בסאב דומיין API נפרד?

      תגובה 1 תגובה אחרונה
      0
      • yossizY מנותק
        yossizY מנותק
        yossiz
        השיב לchagold ב נערך לאחרונה על ידי
        #3

        @chagold אמר בגישה מהקליינט לשרת - עקיפת הראוטר vue:

        ומחזיר את הframe של הקליינט

        לא הבנתי בדיוק מה הכוונה.

        בכל מקרה, אי אפשר לקרוא לשרת ככה. כי השרת הוא קוד PHP והשרת של vue serve לא יודע איך להריץ את זה.
        אתה חייב שרת שונה שמגיש את קוד ה-PHP.

        בד"כ ב-dev מריצים באמת שני שרתים.
        וב-prod אפשר לשים את שניהם מאחורי nginx וכדומה עם הגדרת כלל שנתיב כך וכך אתה מפנה לשרת א' ונתיבים כך וכך לשרת ב'.

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

        chagoldC תגובה 1 תגובה אחרונה
        1
        • chagoldC מנותק
          chagoldC מנותק
          chagold
          השיב לyossiz ב נערך לאחרונה על ידי
          #4

          @yossiz האפשרות לנתב קיימת גם באפאצ'י? (חיפשתי ולא מצאתי בינתיים, רק באמצעות .htaccess).

          (או שאתה סבור שעדיף לי לעבור כבר כעת ל-nginx?)
          תודה.

          yossizY תגובה 1 תגובה אחרונה
          0
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב לchagold ב נערך לאחרונה על ידי yossiz
            #5

            @chagold סליחה, טעיתי. לא צריך ניתוב.

            (אם אתה מתעניין איך עושים ניתוב, אז זה נקרא reverse proxying והתיעוד הוא פה: https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html#simple) אבל אין צורך וכנ"ל.

            ב-prod אפשר להגיש את הכל על ידי apache כי היא יודעת איך להגיש קבצי php. (אני לא מכיר בדיוק איך מגדירים אותו אבל זה אמור להיות פשוט)

            ב-dev, לכאורה תצטרך שני שרתים. אחד שמגיש את קבצי ה-php ואחד שמגיש את קבצי ה-vue.

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            chagoldC תגובה 1 תגובה אחרונה
            0
            • chagoldC מנותק
              chagoldC מנותק
              chagold
              השיב לyossiz ב נערך לאחרונה על ידי
              #6

              @yossiz סליחה שלא הבנתי.

              אני מבין שאני לא הבנתי אותך ולא שאתה לא הבנת אותי, אבל...

              כרגע יש לי אפאצ'י לוקאלי. והוא יודע להגיש את קבצי הPHP. לא בזה הבעיה.

              הבעיה היא שכשאני ניגש מתוך הפרוייקט אל התיקיה של הPHP אז הוא קורא את זה כאילו זה נתיב בפרוייקט (ורק שכיון שאין לו נתונים אז הוא מחזיר את המסגרת (לעיל הframe) של הHTML של הפרוייקט.

              אבל איך פותרים את זה, לא הבנתי. (אם לא צריך ניתוב).

              yossizY תגובה 1 תגובה אחרונה
              0
              • yossizY מנותק
                yossizY מנותק
                yossiz
                השיב לchagold ב נערך לאחרונה על ידי
                #7

                @chagold לא הצלחתי להבין את הסיטואציה. 😞

                יש לך אפאצ'י לוקלי? הוא מצליח להגיש את הקובץ index.php?
                על איזה פורט הוא רץ?
                במקום גישה ל-php/index.php תיגש ל-http://localhost:xxxx/yyyy/index.php

                כאשר אתה מחליף את xxxx בפורט של אפאצ'י ותחליף yyyy בנתיב של הקובץ שאתה רוצה להריץ.

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                chagoldC תגובה 1 תגובה אחרונה
                3
                • chagoldC מנותק
                  chagoldC מנותק
                  chagold
                  השיב לyossiz ב נערך לאחרונה על ידי chagold
                  #8

                  @yossiz

                  ניגשתי לפורט אחר (והurl עובד תקין אם אני ניגש אליו ישירות), אבל לfetch הזה הוא לא מחזיר נתונים)

                  a1a7eacc-1e98-44a6-a495-f621ba5a1183-image.png

                  זה בגלל שזה מדומיין אחר?

                  dovidD A 2 תגובות תגובה אחרונה
                  0
                  • dovidD מחובר
                    dovidD מחובר
                    dovid ניהול
                    השיב לchagold ב נערך לאחרונה על ידי
                    #9

                    @chagold אמר בגישה מהקליינט לשרת - עקיפת הראוטר vue:

                    זה בגלל שזה מדומיין אחר?

                    כן. אתה צריך להגדיר בserve פרוקסי, ראה
                    https://cli.vuejs.org/config/#devserver-proxy

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    chagoldC תגובה 1 תגובה אחרונה
                    2
                    • chagoldC מנותק
                      chagoldC מנותק
                      chagold
                      השיב לdovid ב נערך לאחרונה על ידי
                      #10

                      @dovid
                      d1f0418f-c729-4e68-9f7f-adcd5f9502e6-image.png
                      השגיאה עדיין.
                      a649247e-c2d7-4baf-8e3a-9aa201cc2cd5-image.png

                      כולל אם אני עושה ככה
                      b568c8b7-91d3-4a0f-be42-19d5a468ed61-image.png

                      dovidD תגובה 1 תגובה אחרונה
                      0
                      • dovidD מחובר
                        dovidD מחובר
                        dovid ניהול
                        השיב לchagold ב נערך לאחרונה על ידי
                        #11

                        @chagold מה השגיאה? מה הפלט בקונסול?
                        זה נראה שזה עובד מבחינת להגיע לPHP, כי אני רואה בתשובה כותרת של PHP.

                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                        chagoldC תגובה 1 תגובה אחרונה
                        0
                        • chagoldC מנותק
                          chagoldC מנותק
                          chagold
                          השיב לdovid ב נערך לאחרונה על ידי
                          #12

                          @dovid
                          55b8e2c6-c1b0-4340-90f2-0ef11625ae25-image.png

                          chagoldC תגובה 1 תגובה אחרונה
                          0
                          • chagoldC מנותק
                            chagoldC מנותק
                            chagold
                            השיב לchagold ב נערך לאחרונה על ידי chagold
                            #13

                            הכותרת של PHP היתה גם בצילום מסך הקודם לפני שהגדרתי את הפרוקסי

                            תגובה 1 תגובה אחרונה
                            0
                            • A מנותק
                              A מנותק
                              avi rz
                              השיב לchagold ב נערך לאחרונה על ידי
                              #14

                              @chagold אמר בגישה מהקליינט לשרת - עקיפת הראוטר vue:

                              ניגשתי לפורט אחר (והurl עובד תקין אם אני ניגש אליו ישירות), אבל לfetch הזה הוא לא מחזיר נתונים)

                              למה שלא תנסה לכתוב ב fetch את כל הכתובת שכן עובדת(כולל הlocalhost והפורט), ולא רק את הנתיב מהתיקיה?

                              dovidD תגובה 1 תגובה אחרונה
                              0
                              • dovidD מחובר
                                dovidD מחובר
                                dovid ניהול
                                השיב לavi rz ב נערך לאחרונה על ידי dovid
                                #15

                                @avi-rz הוא כן כותב את הכל.
                                הבעיה שלו היא CORS של פניה מדומיין לדומיין אחר, וזה אומר שהאתר של הPHP עובד מצויין אבל הפרוקסי של VUE משום מה לא עובד, אני לא מכיר אותו בשביל לחשוב מה יכול להיות.
                                האפשרות הקלה שיש לי להציע זה להוסיף בPHP הידרים שמאפשרים גישה מהאתר הזר, ככה:

                                header('Access-Control-Allow-Origin: http://localhost:8080'); 
                                header('Access-Control-Allow-Credentials: true');
                                header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
                                

                                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                chagoldC תגובה 1 תגובה אחרונה
                                3
                                • chagoldC מנותק
                                  chagoldC מנותק
                                  chagold
                                  השיב לdovid ב נערך לאחרונה על ידי
                                  #16

                                  @dovid אמר בגישה מהקליינט לשרת - עקיפת הראוטר vue:

                                  header('Access-Control-Allow-Origin: http://localhost:8080'); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS')

                                  תודה רבה!!
                                  צר לי על שטיקל vue שלא הבנתי, אבל ממש מספיק לי בשביל הפיתוח.

                                  תגובה 1 תגובה אחרונה
                                  2

                                  בא תתחבר לדף היומי!
                                  • התחברות

                                  • אין לך חשבון עדיין? הרשמה

                                  • התחברו או הירשמו כדי לחפש.
                                  • פוסט ראשון
                                    פוסט אחרון
                                  0
                                  • דף הבית
                                  • קטגוריות
                                  • פוסטים אחרונים
                                  • משתמשים
                                  • חיפוש
                                  • חוקי הפורום