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

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

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

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

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


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

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

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