הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [AJAX+PHP] בעיה בקידוד וברענון תמונות. (https://hosts.co.il/forums/showthread.php?t=57070)

miniature 26-11-07 17:10

[AJAX+PHP] בעיה בקידוד וברענון תמונות.
 
טוב, אז הצלחתי סוף סוף לעשות משהו נורמלי עם AJAX (:-D), ונתקלתי בכמה בעיות:
א. כל מה שאני כותב בעברית בדף ה PHP השני (מה שיוחזר ל JS) נהפך לסימני שאלה.
ב. כל התמונות שיש בדף ה PHP השני לא מתרעננות אם אני משנה אותן.

תודה,

חיים 26-11-07 19:00

א. AJAX מעביר הכל בפורמט UTF-8 אז אתה צריך להשתמש בפונקצייה שמעבירה פורמטים.. תעשה חיפוש פה בפורום או שתדבר איתי במסן
ב.אממ יש מצב שאתה מביא הסבר מפורט יותר על הבעיה? ה-AJAX וה- PHP נמצאים באותה התיקייה?

reXtea 26-11-07 21:03

PHP קוד:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header('Content-Type: text/html; charset=windows-1255');

function 
con ($text)
{
    return 
preg_replace("/\xD7([\x90-\xAA])/e","chr(ord(\${1})+80)",$text);


שים את זה בתחילה של העמוד AJAX הPHP,
ותעביר כל משתנה שאתה מקבל בפונקציה con.
זה אמור לעבוד.... העמודים צריכים להיות בקידוד רגיל לא צריך UTF8.

miniature 26-11-07 23:10

ציטוט:

נכתב במקור על ידי reXtea (פרסם 583736)
PHP קוד:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header('Content-Type: text/html; charset=windows-1255');
 
function 
con ($text)
{
    return 
preg_replace("/\xD7([\x90-\xAA])/e","chr(ord(\${1})+80)",$text);


שים את זה בתחילה של העמוד AJAX הPHP,
ותעביר כל משתנה שאתה מקבל בפונקציה con.
זה אמור לעבוד.... העמודים צריכים להיות בקידוד רגיל לא צריך UTF8.

תודה רבה!
PHP קוד:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 

תוכל להסביר את השורות הנ"ל? והאם צריך את השורה השניה? היא הכרחית?

חיים, לגבי ב, הבעיה העיקרית אני חושב היא שקובץ ה PHP השני לא קורא את קובץ ה CSS שצורף לקובץ הראשון..

AlmogBaku 27-11-07 08:51

השורות:
PHP קוד:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 

יוצרות רענון קבוע.
בעיה נפוצה בתקשורת ajax עם IE היא שה- IE "משחק אותה חכם", ע"י כך שלפי החישובים שלו אם זה לא דף אחר, והדף התקבל לפני מספר שניות- לא חל שינוי. דבר שדי בעייתי במקרים מסויימים.
הפתרון שהוצג, בעצם קובע שהדף חייב להתרענן כל פעם מחדש, וקובע שפג התוקף שלו עבר- ולכן יש לרענן את הדף..

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

miniature 27-11-07 15:04

ציטוט:

נכתב במקור על ידי Baku (פרסם 583885)
השורות:
PHP קוד:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 

יוצרות רענון קבוע.
בעיה נפוצה בתקשורת ajax עם IE היא שה- IE "משחק אותה חכם", ע"י כך שלפי החישובים שלו אם זה לא דף אחר, והדף התקבל לפני מספר שניות- לא חל שינוי. דבר שדי בעייתי במקרים מסויימים.
הפתרון שהוצג, בעצם קובע שהדף חייב להתרענן כל פעם מחדש, וקובע שפג התוקף שלו עבר- ולכן יש לרענן את הדף..

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

עשיתי לפני כן עם GET רנדומלי וזה לא פעל משום מה.. אז אני אשאיר ככה עם שניהם.
תודה על התשובה :)


כל הזמנים הם GMT +2. הזמן כעת הוא 21:36.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ