![]() |
# 3 | |
חבר מתקדם
|
ציטוט:
הצעה שיש לי לתת לך, תתחיל להשתמש בtry וcatch כדי לדבג את הסקריפטים שלך. למשל, את הפונקציה שכתבת "Ajax" יכלת לעטוף בtry ואז בקטע קוד של הcatch לכתוב alert(exception). אוקי, בנוגע לשגיאות שיש לך בסקריפט, אני כבר שמתי לב שיש לך שגיאה בתחביר מאחר וחסר לך סוגר מסולסל אחד בסוף ('}'). עוד משהו, כשכתבת את קטע הקוד הבא: קוד:
window.onload = function () { setTimeout( 'Ajax()', 4000 ) ; } עוד משהו מאוד חשוב, כשיצרת את האובייקט שאמור ליצור את ההתקשרות עם השרת עצמו, אתה שכחת בעצם ליצור את הבקשה להתקשרות, ולשלוח אותה. כתבתי קוד עם תיקונים וקצת הערות, לא בדקתי ככה שאני לא יודע אם עובד. אם לא עובד תכתוב פה את הבעיה ואני אנסה לעזור. קוד:
function Ajax() { var xmlHttp ; try { xmlHttp = new XMLHttpRequest() ; // Firefox, Opera 8.0+, Safari } catch ( e ) { try { xmlHttp = new ActiveXObject( "Msxml2.XMLHTTP" ) ; // Internet Explorer } catch ( e ) { try { xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" ) ; } catch ( e ) { alert( "No AJAX!?" ) ; return false ; } } } // מכינים את הפונקציה שתתבצע ברגע שהבקשה נשלחה xmlHttp.onreadystatechange = function () { if( 4 == xmlHttp.readyState ) { // ארעה שגיאה בשליחת הבקשה לשרת if( 404 == xmlHttp.status ) { throw 'ארעה שגיאה בשליחת בקשה לשרת. קוד השגיאה: '+xmlHttp.status+"\n"+xmlHttp.statusText; } else { document.getElementByID( 'loadPeriodical' ).innerHTML = xmlHttp.responseText ; setTimeout( 'Ajax()', 4000 ) ; } } } //----------------------------------------------- // בקטע זה אנחנו שולחים בקשה לשרת ומכוונים אותו // לדף בשם 'ServerResponse.php' שנמצא באותה תיקייה // בה נמצא דף התצוגה של האתר. //----------------------------------------------- xmlHttp.open( 'GET', 'ServerResponse.php', true ) ; xmlHttp.send(null) ; } window.onload = function () { try { setTimeout( 'Ajax()', 4000 ) ; } catch( exception ) { alert( exception.toString() ) ; } } |
|
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|