איך לעדכן מצד השרת רק חלק מהדף בצד לקוח node js

  • הוסף לסימניות
  • #1
בלחיצה על כפתור "כניסה" בדף של לוגין אני רוצה לבדוק (בצד השרת כמובן) האם המשתמש קיים או לא, אם כן - להעביר אותו לדף אחר, ואם לא - להציג לו הודעה מתאימה.
אם הכפתור של הסיסמא הוא כפתור submit, במקרה של שגיאה אני צריכה להחזיר את כל הדף + הודעת שגיאה.
אם הכפתור שולח בקשת ajax, במקרה שהפרטים נכונים אני לא יכולה בצד השרת (res.redirect) להעביר את המשתמש לדף אחר, כי זה ajax.
האם יש דרך לשלב בין השניים - במקרה של שגיאה לעדכן רק את הdiv של הודעת השגיאה ובמקרה של אישור להעביר את המשתמש לדף אחר?
 
  • הוסף לסימניות
  • #2
יש דרך:
את קודם כל עושה את הבדיקה בajax, אם ישנה שגיאה את מעדכנת את הdiv של הודעת השגיאה, ואם אין, את משתמשת בפונקציה ()submit וזה נשלח כמו בלחיצה על כפתור submit רגיל.

קישור לפונקציה:
http://www.w3schools.com/jsref/met_form_submit.asp
 
  • הוסף לסימניות
  • #3
דבר ראשון, תודה על התגובה.
אבל,
מה שאני רציתי לחסוך זה את הבדיקה בצד לקוח האם זו שגיאה או הצלחה.
בדרך שהצעת, אני אצטרך לבדוק את זה.
ואם כבר,
בשביל מה לשלוח לשרת פעמיים (ב-ajax וב-submit)?
חשבתי על דרך אחרת:
לשלוח רק ב-ajax ובמקרה של הצלחה להחזיר כתובת url של הדף המבוקש, ולשנות ב-javascript את window.location.
(אומנם גם כאן הוא ייגש לשרת בשביל לקבל את הדף אבל בלי לשלוח את כל הנתונים של הטופס).
האם זה נכון לעשות כך?
 
  • הוסף לסימניות
  • #4
נכתב ע"י מיכל123;1393288:
דבר ראשון, תודה על התגובה.
אבל,
מה שאני רציתי לחסוך זה את הבדיקה בצד לקוח האם זו שגיאה או הצלחה.
לא הבנתי, את רוצה לבדוק שגיאות או לא?

ואם כבר,
בשביל מה לשלוח לשרת פעמיים (ב-ajax וב-submit)?
פעם בשביל הבדיקה ופעם בשביל מעבר עמוד. לא רואה בזה בעיה...

חשבתי על דרך אחרת:
לשלוח רק ב-ajax ובמקרה של הצלחה להחזיר כתובת url של הדף המבוקש, ולשנות ב-javascript את window.location.
(אומנם גם כאן הוא ייגש לשרת בשביל לקבל את הדף אבל בלי לשלוח את כל הנתונים של הטופס).
האם זה נכון לעשות כך?
זה אפשרי, ואפילו חשבתי על הפיתרון הזה, אבל לא בטוח שזה נכון. את הרי רוצה לשמור cookie או session של הגולש, לא? ובכלל, זה פיתרון פחות אלגנטי.
 
  • הוסף לסימניות
  • #5
לא הבנתי, את רוצה לבדוק שגיאות או לא?
כמובן שאני רוצה לבדוק שגיאות, אבל אני רוצה שזה יתבצע רק בצד השרת.
מבחינתי שגיאה זה לקוח לא רשום.
איך שזה עובד אצלי, אם הלקוח רשום אוטומטית הוא נרשם ב-session.
לא צריכה בשביל זה עוד submit.
לחסוך את הבדיקה בצד לקוח - כוונתי שלא אצטרך לכתוב קוד של:

אם (חזרה הודעת שגיאה)
הוסף בעמוד הודעת שגיאה
אחרת
submit()

(מצטערת, לא הצלחתי להוסיף טאבים)

אבל אני רואה שבכל דרך אני אצטרך לעשות את זה.

בכל אופן, תודה רבה.
 
  • הוסף לסימניות
  • #6
נכתב ע"י מיכל123;1393288:
חשבתי על דרך אחרת:
לשלוח רק ב-ajax ובמקרה של הצלחה להחזיר כתובת url של הדף המבוקש, ולשנות ב-javascript את window.location.
(אומנם גם כאן הוא ייגש לשרת בשביל לקבל את הדף אבל בלי לשלוח את כל הנתונים של הטופס).
האם זה נכון לעשות כך?

לדעתי אין בעיה עם הפיתרון הזה. וה session יעבוד מצוין.
רק חיסרון אחד אני מכיר. שהדפדפן לא יזהה שהיה פה שליחה של שם משתמש וסיסמה. ולא יציע לשמור את הסיסמה בדפדפן.
 

פרוגבוט

תוכן שיווקי
פרסומת

פוסטים חדשים שאולי לא קראת....

הצטרפות לניוזלטר

איזה כיף שהצטרפתם לניוזלטר שלנו!

מעכשיו, תהיו הראשונים לקבל את כל העדכונים, החדשות, ההפתעות בלעדיות, והתכנים הכי חמים שלנו בפרוג!

לוח מודעות

הפרק היומי

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


תהילים פרק כה

אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
נקרא  2  פעמים
למעלה