|
הרשם | ![]() |
שאלות ותשובות | ![]() |
רשימת חברים | ![]() |
לוח שנה | ![]() |
הודעות מהיום | ![]() |
חיפוש | ![]() |
|
![]() |
![]() |
|
כלים לאשכול | תצורת הצגה |
![]() |
# 1 |
עסק רשום [?]
|
Jquery| autocomplete בAJAX
PHP קוד:
עכשיו הוא לא עובד, קישרתי את הספרייה של autocomplete אשמח אם משהו יוכל לתקן לי את הקוד.. תודה!
__________________
![]() איציק ברבי - שירות לקוחות כתובת אתר: http://build-net.co.il/ איימל: Support@build-net.co.il טלפון: 052-3937296. |
![]() |
![]() |
# 2 |
חבר בקהילה
|
מה שקרה זה ככה:
אמרת ל jQuery לכי תביאי לי tags ובינתיים תעשי autocomplete על #tags מה שהיית צריך לעשות זה: להביא את הטאגס ואחר כך לעשות autocomplete על הטאגס בגלל זה javascript תמיד תהיה שפה יותר טובה מ php היא מריצה פקודות לא אחד אחרי השני אלא בכאילו parallel קוד צריך להיראות ככה. קוד:
$("input.fullname").change(function(){ $.ajax({ url: "Sources/Ajax.php?act=User_List", type: "POST", data: "fullname="+$(this).val(), success: function(data){ $( "#tags" ).autocomplete({ source: data.split(',') }); } }); return false; }); |
![]() |
![]() |
# 3 | |
חבר בקהילה
|
ציטוט:
Tags עדיין לא הגיע.... |
|
![]() |
![]() |
# 4 |
עסק רשום [?]
|
זה היה נסיון אחד ל... אשמח אם תתקן לי את הקוד.
__________________
![]() איציק ברבי - שירות לקוחות כתובת אתר: http://build-net.co.il/ איימל: Support@build-net.co.il טלפון: 052-3937296. |
![]() |
![]() |
# 5 |
חבר בקהילה
|
מה לא עובד אחי ?
למה לא לעשות ב keyup ? במקום change תעשה console.log() במקומות שונים ותברר מה קורה.. |
![]() |
![]() |
# 6 |
עסק רשום [?]
|
סידרתי את הקוד, הוא עובד אבל די לאט עלה לי רעיון לבטל את כל הבקשות של הAJAX שנשלחו איך אני עושה את זה? די הסתבכתי..
PHP קוד:
__________________
![]() איציק ברבי - שירות לקוחות כתובת אתר: http://build-net.co.il/ איימל: Support@build-net.co.il טלפון: 052-3937296. Last edited by איציק ברבי; 02-08-12 at 15:36.. |
![]() |
![]() |
# 7 | |
מנהל פורום, עסק רשום
|
ציטוט:
מה שאתה עושה זה לאתחל הכל מההתחלה אחרי כל לחיצת כפתור במקלדת. לא עושים את זה ככה. תיקנתי לך את הקוד המקורי שלך. http://jsfiddle.net/C2sRR/3/ אני ממליץ לך להסתכל על הדוגמה הזאת בדוקומנטציה (אומנם מדובר ב-JSONP, אך העקרון זהה). שים לב שייתכן מאוד שתצטרך למפות את הנתונים שאתה מקבל באחרי קריאת ה-AJAX שלך לאובייקט JS ש-autocomplete מצפה לקבל ממך. בנוסף אני ממליץ לעיין בדוגמה עם cache, כך שזה אמור להאיץ משמעותית את הביצועים שכן אתה לא תבצע קריאות AJAX מרובות, אלא לרוב רק פעם אחת. לדוגמה אם אתה מחליט לבצע קריאת AJAX אחרי שהיוזר הזין 2 אותיות, אז יחזרו לך תוצאות. כשהוא יוסיף אות נוספת, אתה תעשה את הסינון מתוך התוצאות שחזרו לך לפני כן (כשהוא לך רק 2 אותיות). במקרה כזה בוודאי שאין צורך לקריאה נוספת שכן אם התוצאה נמצאת ב-DB, היא אחת מהתוצאות שכבר חזרו לך לפני כן. Last edited by IgalSt; 02-08-12 at 15:39.. |
|
![]() |
![]() |
# 8 | |
חבר מתקדם
|
ציטוט:
במקרים של-2 אותיות הראשונות יש נגיד 1000 התאמות, ויחזרו רק 10, הסיכויים די גדולים שהאות הבאה לא תהיה ב-cache כמובן שאפשר לשמור את כל ה-1000 תוצאות ולהציג את ה-10 הראשונות, אבל אז כבר סתם טענת יותר מידי מידע, כשהרבה בקשות כאלו מהרבה משתמשים כבר סתם יעמיסו על השרת
__________________
הורדת שירים מיוטיוב, הורדת שירים, שירים להורדה, שירים להורדה מיוטיוב, העלאת תמונות |
|
![]() |
![]() |
# 9 | |
מנהל פורום, עסק רשום
|
ציטוט:
עם זאת, בהחלט שכל מקרה לגופו. לפעמים תעדיף לטעון יותר מידע ולהציג רק חלק ממנו (אחרי הכל לבצע שאילתה אחת 10 פעמים זה יותר כבד מאשר שאילתה אחת שמחזירה פי 10 רשומות). לחילופין, תוכל להגדיר כל מיני התחכמויות כמו לדוגמה לבצע חיפוש ראשוני אחרי 2 תווים, לאחר מכן כשהיוזר מקליד תווים נוספים תבצע חיפוש ב-cache. במקביל, אחרי כל תו שמוכנס, תראה אם היוזר ממשיך להקליד או לא. אם הוא הפסיק (טיימר פשוט, של נגיד 500ms), תבצע קריאה נוספת לשרת לקבלת כל הרשומות. בצורה כזאת אתה מגיע לחווית משתמש חיובית - היוזר מרגיש הוא מבצע חיפוש מאוד מהיר ומקבל פידבק מיידי על כל תו שהוא מכניס. מבחינת יעילות אתה חוסך בגישות ל-DB. זה רק תסריט אחד בלבד. באמת שכל מקרה לגופו. אולי דווקא האיטיות במקרה הספציפי איציק ברבי מציג נובעת בכלל ממחסור של אינדקסים נאותים ב-DB, או בכלל פעולות איטיות ב-backend. |
|
![]() |
![]() |
# 10 |
אושיית הוסטינג
|
אם כבר מדברים על אופטימזציה,
אם יש דפוס מסויים שחוזר על עצמו. למה לא להשתמש בקאש בbackend ולחסוך קריאות למסד. יותר מזה, POST איטי יותר מ-GET: ב-POST הדפדפן שולח קודם כל את ה-headers ורק אח״כ את ה-data, ב-GET ה-data הוא חלק מה-header (כן, זה מאוד משפיע ב-autocomplete).
__________________
אבי |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|