הבו לי פתרון! - פונקציית javascript

  • הוסף לסימניות
  • #1
כתבתי פונקצייה ב- javascript לשליפת נתונים מהדאטה בייס ע''י axios.
אממה?
הפונקצייה עובדת אך ורק עם נקודות עצירה בדיבאגר, (בדקתי ב- postman וזה לא בעיה בצד שרת או משהו)
אני ממש אשמח לפתרון יעיל איך לגרום לכך שהפונקציות יעבדו ללא מעקב....

רק מציינת שבחלק מהפונקציות הכל עובד מצוין ללא צורך במעקב,
מישהו מוכן להסביר מה ההבדל בין פונקצייה לפונקצייה?

מצרפת דוגמא לקוד שכתבתי:
JavaScript:
function CheckPassword() {
    var psd = document.getElementById("password").value;
    axios.get(path + '/Users/GetByPsd/?name=' + psd).then(
        (response) => {
            var result = response.data;
            console.log(result)
            sessionStorage.login = JSON.stringify(result);
            window.location.href = '../HomePage/HomelPage.html'

        },
        (error) => {
            console.log(error);
            

        }
    );

}
 
  • הוסף לסימניות
  • #3
כתבתי פונקצייה ב- javascript לשליפת נתונים מהדאטה בייס ע''י axios.
אממה?
הפונקצייה עובדת אך ורק עם נקודות עצירה בדיבאגר, (בדקתי ב- postman וזה לא בעיה בצד שרת או משהו)
אני ממש אשמח לפתרון יעיל איך לגרום לכך שהפונקציות יעבדו ללא מעקב....

רק מציינת שבחלק מהפונקציות הכל עובד מצוין ללא צורך במעקב,
מישהו מוכן להסביר מה ההבדל בין פונקצייה לפונקצייה?

מצרפת דוגמא לקוד שכתבתי:
JavaScript:
function CheckPassword() {
    var psd = document.getElementById("password").value;
    axios.get(path + '/Users/GetByPsd/?name=' + psd).then(
        (response) => {
            var result = response.data;
            console.log(result)
            sessionStorage.login = JSON.stringify(result);
            window.location.href = '../HomePage/HomelPage.html'

        },
        (error) => {
            console.log(error);
           

        }
    );

}
מבחינת קונסול לוג - ברגע שכתבת:
window.location.href = '../HomePage/HomelPage.html'

אז הוא מתבטל - כי עברת עמוד...
(אם יש יש איפה שהוא בTOOLS אפשרות לבטל את הטעינה מחדש ולגרום שכל הלוגים ימשיכו להשמר גם אחרי ריפרש)
תנסה להכניס את השורה הזו והערה ולבדוק אולי?
 
  • הוסף לסימניות
  • #4
מבחינת קונסול לוג - ברגע שכתבת:
window.location.href = '../HomePage/HomelPage.html'

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

מאוד מעניין, בשימוש עם fetch אותה בעיה?
לא התעסקתי עם זה עד עכשיו, אבל זה סיפור להחליף ספרייה באמצע פרויקט.....


אף אחד לא נתקל בכזו בעיה מתישהו?
 
  • הוסף לסימניות
  • #5
האמת את ה- console.log לא הייתי צריכה במיוחד זה רק בשביל בדיקה כלשהי...
הורדתי לגמרי ועדיין אותה בעיה (לא חושבת שגם קשור לזה)


לא התעסקתי עם זה עד עכשיו, אבל זה סיפור להחליף ספרייה באמצע פרויקט.....


אף אחד לא נתקל בכזו בעיה מתישהו?
אז מה לא עובד? לא עובד זה מילה רחבה מידי..
(יש בדיחה ידוע שאם אתה רוצה לעצבן מתכנתת תשלח לו "האתר לא עובד" עם תמונה של דף הבית)
במקרים של AJAX (מכל סוג, לא משנה הספריה) שהפעולה בתגובה לא מתקיימת כשצריך ובדיבאג היא כן - הבעיה היא בד"כ זה שהקוד הוא א-סינכרוני
כלומר, הפעולה תתבצע, אבל רק כשהPOST יחזור
ובינתיים שאר הקוד רץ
לעיתים תוך הסתמכות על התשובה או ההשמה של מה שחזר, וזה לא קרה עדיין
הדיבאג עוצר הכל, ולכן כשהוא נמצא הקוד פשוט מחכה...
 
  • הוסף לסימניות
  • #6
אז מה לא עובד?
קודם כל תודה על הפירוט.
הפונקציה פשוט לא ממשיכה למהלכים הבאים.
לדוגמא בפונקציה הנוכחית אני קולטת ממשתמש סיסמא והפונקציה מנתבת אותו לעמוד אחר ושומרת את פרטי המשתמש שנכנס,
וכאן, ללא מעקב, הפונקציה לא מגיבה והעמוד הנוכחי מתרענן שוב.
נשמע הגיוני שזה קשור לקוד א-סינכרוני,
אבל השאלה איך לסדר את זה....
 
  • הוסף לסימניות
  • #7
קודם כל תודה על הפירוט.
הפונקציה פשוט לא ממשיכה למהלכים הבאים.
לדוגמא בפונקציה הנוכחית אני קולטת ממשתמש סיסמא והפונקציה מנתבת אותו לעמוד אחר ושומרת את פרטי המשתמש שנכנס,
וכאן, ללא מעקב, הפונקציה לא מגיבה והעמוד הנוכחי מתרענן שוב.
נשמע הגיוני שזה קשור לקוד א-סינכרוני,
אבל השאלה איך לסדר את זה....
כנראה שיש מקום אחר בקוד שמרענן את העמוד הנוכחי
ואז התהליכים שהיו באמצע פשוט נעצרים

ואגב, מעבר עמוד באופן הזה לא שומר פרמטרים למיטב ידיעתי
ואחרי תחלופת העמוד לא יהיו הפרטים של המשתמש שנכנס בכלל.
אבל מזמן לא עשיתי את זה ויכול להיות שאני טועה.
 
  • הוסף לסימניות
  • #8
ואגב, מעבר עמוד באופן הזה לא שומר פרמטרים למיטב ידיעתי
ואחרי תחלופת העמוד לא יהיו הפרטים של המשתמש שנכנס בכלל.
אבל מזמן לא עשיתי את זה ויכול להיות שאני טועה.
sessionStorage מאפשר לשמור נתונים (וזה עובד- כמו שכבר כתבתי, הקוד עובד עם מעקב על הפונקציה)
בכל אופן אני אמשיך לגגל על הנושא...
(האמת חיפשתי כבר הרבה - stackOverFlow וכו' אבל לא מצאתי משהו רלוונטי שעזר)
מקווה למצוא פיתרון.
 
  • תודה
Reactions: UU
  • הוסף לסימניות
  • #9
sessionStorage מאפשר לשמור נתונים (וזה עובד- כמו שכבר כתבתי, הקוד עובד עם מעקב על הפונקציה)
נכון
לא קראתי לעומק את הקוד של השורה הזו.
 
  • הוסף לסימניות
  • #10
תנסו את הקוד כך (לפי התיעוד). אותה שגיאה? כמו"כ האם ב- network הבקשה יוצאת?
JavaScript:
function CheckPassword() {
    var psd = document.getElementById("password").value;
    axios.get(path + '/Users/GetByPsd/?name=' + psd).then(
        (response) => {
            var result = response.data;
            console.log(result)
            sessionStorage.login = JSON.stringify(result);
            window.location.href = '../HomePage/HomelPage.html'

        }).catch((error) => {
            console.log(error);
         }
    ) ;
}
 
  • הוסף לסימניות
  • #11
תנסו את הקוד כך (לפי התיעוד). אותה שגיאה? כמו"כ האם ב- network הבקשה יוצאת?
JavaScript:
function CheckPassword() {
    var psd = document.getElementById("password").value;
    axios.get(path + '/Users/GetByPsd/?name=' + psd).then(
        (response) => {
            var result = response.data;
            console.log(result)
            sessionStorage.login = JSON.stringify(result);
            window.location.href = '../HomePage/HomelPage.html'

        }).catch((error) => {
            console.log(error);
         }
    ) ;
}
אותה שגיאה.
הבקשה יוצאת ופועלת רק כשהדיבאגר פתוח ):
 
  • הוסף לסימניות
  • #12
יש איפה שהוא בTOOLS אפשרות לבטל את הטעינה מחדש ולגרום שכל הלוגים ימשיכו להשמר גם אחרי ריפרש
1666630882929.png
 
  • תודה
Reactions: UU
  • הוסף לסימניות
  • #13
סליחה שאני קופצת על האשכול הזה
אם אני רוצה לכתוב הודעה חדשה בפורום של תכנות אני צריכה להרשם לתכנות?
זה לא היה ככה בעבר...
 

פרוגבוט

תוכן שיווקי
פרסומת
למעלה