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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
16 פוסטים 4 כותבים 574 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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 chagold

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

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

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

      chagoldC
      chagoldC
      chagold
      כתב ב נערך לאחרונה על ידי
      #2

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

      תגובה 1 תגובה אחרונה
      0
      • chagoldC chagold

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

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

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

        yossizY
        yossizY
        yossiz
        כתב ב נערך לאחרונה על ידי
        #3

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

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

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

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

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

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
        👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

        chagoldC תגובה 1 תגובה אחרונה
        1
        • yossizY yossiz

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

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

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

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

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

          chagoldC
          chagoldC
          chagold
          כתב ב נערך לאחרונה על ידי
          #4

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

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

          yossizY תגובה 1 תגובה אחרונה
          0
          • chagoldC chagold

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

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

            yossizY
            yossizY
            yossiz
            כתב ב נערך לאחרונה על ידי 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
            • yossizY yossiz

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

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

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

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

              chagoldC
              chagoldC
              chagold
              כתב ב נערך לאחרונה על ידי
              #6

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

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

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

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

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

              yossizY תגובה 1 תגובה אחרונה
              0
              • chagoldC chagold

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

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

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

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

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

                yossizY
                yossizY
                yossiz
                כתב ב נערך לאחרונה על ידי
                #7

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

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

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

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
                👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

                chagoldC תגובה 1 תגובה אחרונה
                3
                • yossizY yossiz

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

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

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

                  chagoldC
                  chagoldC
                  chagold
                  כתב ב נערך לאחרונה על ידי chagold
                  #8

                  @yossiz

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

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

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

                  dovidD A 2 תגובות תגובה אחרונה
                  0
                  • chagoldC chagold

                    @yossiz

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

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

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

                    dovidD
                    dovidD
                    dovid
                    ניהול
                    כתב ב נערך לאחרונה על ידי
                    #9

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

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

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

                    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                    chagoldC תגובה 1 תגובה אחרונה
                    2
                    • dovidD dovid

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

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

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

                      chagoldC
                      chagoldC
                      chagold
                      כתב ב נערך לאחרונה על ידי
                      #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
                      • chagoldC chagold

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

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

                        dovidD
                        dovidD
                        dovid
                        ניהול
                        כתב ב נערך לאחרונה על ידי
                        #11

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

                        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                        chagoldC תגובה 1 תגובה אחרונה
                        0
                        • dovidD dovid

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

                          chagoldC
                          chagoldC
                          chagold
                          כתב ב נערך לאחרונה על ידי
                          #12

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

                          chagoldC תגובה 1 תגובה אחרונה
                          0
                          • chagoldC chagold

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

                            chagoldC
                            chagoldC
                            chagold
                            כתב ב נערך לאחרונה על ידי chagold
                            #13

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

                            תגובה 1 תגובה אחרונה
                            0
                            • chagoldC chagold

                              @yossiz

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

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

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

                              A
                              A
                              avi rz
                              כתב ב נערך לאחרונה על ידי
                              #14

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

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

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

                              dovidD תגובה 1 תגובה אחרונה
                              0
                              • A avi rz

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

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

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

                                dovidD
                                dovidD
                                dovid
                                ניהול
                                כתב ב נערך לאחרונה על ידי 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
                                • dovidD dovid

                                  @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');
                                  
                                  chagoldC
                                  chagoldC
                                  chagold
                                  כתב ב נערך לאחרונה על ידי
                                  #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

                                  שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                                  נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                                  בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                  הרשמה התחברות
                                  תגובה
                                  • תגובה כנושא
                                  התחברו כדי לפרסם תגובה
                                  • מהישן לחדש
                                  • מהחדש לישן
                                  • הכי הרבה הצבעות


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

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

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