איך אני מקבל מידע מאתר חדשות?
-
ואגב, (לא יודע אם זה יהיה שימושי למקרה הזה ספציפי..)
אבל https://github.com/RSS-Bridge/rss-bridge יכול להועיל בהרבה מקריםלאתרים גדולים ומוכרים בעיקר.. אבל אולי תכתוב לו bridge משלך למה שאתה צריך.. תעזור לעולם.
-
@אבי-203 זה נראה שאתה אכן בשלב המתאים (למעט תשובה ג' שלא לגמרי ברורה, זה נראה שאתה מכיר דברים מוכנים אבל לא מספיק השתפשפת בזה).
עריכה: אני כעת מבין למה - crovid מטשטשת לגמרי את ההבדל בין צד לקוח לשרת כי אפשר לטפל באירועי לקוח בצד שרת ולהיפך - להזין נתונים באלמנטים בצד לקוח בקוד של צד השרת. טוב אז זה חיה בפני עצמה.אז בא נלך לצד השרת, תתחיל לעשות פונקציה שמשתמשת ב fetch ומקבלת את דף הבית למשל של האתר הזה:
export function buttonTestFetch_click(event) { fetch("https://tchumim.com/", {method: 'get'}) .then(response => response.text()) .then(txt => $w("#someElement").text = txt.match(/<title>([^<]+)</)[1]) ); }
-
@dovid אמר באיך אני מקבל מידע מאתר חדשות?:
.then(txt => $w("#someElement").text = txt.match(/<title>([^<]+)</)[1]) );
קצת ערבבתי. אז אולי בגלל זה אני טועה.
בצד לקוח כתבתי כךimport { buttonTestFetch } from 'backend/site'; export function button62_click(event) { let submitRequestData = { "url": $w('#input12').value } buttonTestFetch(submitRequestData) .then((log) => { console.log(log); }) }
בצד שרת כתבתי כך
export function buttonTestFetch_click(submitRequestData) { fetch(submitRequestData.url, {method: 'get'}) .then(response => response.text()) .then(txt => { let log = (txt.match(/<title>([^<]+)</)[1]) return (log) ; }) }
זה מה שמדפיס לי:
TypeError: (0 , _site.buttonTestFetch) is not a function
-
אופס!
עכשיו אני שם לב שזה טעות שלי שהעתקתי את הקוד שלך בדיוק, ולפי מה ששינתי השתנה גם שם הפונקצייה.export function buttonTestFetch(submitRequestData) { fetch(submitRequestData.url, {method: 'get'}) .then(response => response.text()) .then(txt => { let log = (txt.match(/<title>([^<]+)</)[1]) return (log) ; }) }
ככה זה הנכון.
עכשיו אין לי את השגיאה.
אלא שהוא מדפיס לי כעת undefined
אולי זה כבר בעיה פשוטה בקוד?תודה בכל אופן.