בעיה ב js

יאאניב

New member
בעיה ב js

הי
בסביבת .NET 2012 עם jquery גירסה אחרונה

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


$(document).ready(function () {
var __XML;

$('.target').keyup(function () {
if (typeof __XML === 'undefined')
GatXmlData();

pupolateWithData(__XML); // still is undefined !!
});

function GatXmlData() {
$.ajax({
type: "GET",
url: "DAL/XML_xoxo.xml",
dataType: "xml",
success: function (xml) { __XML = xml; }
});
}
 
AJAX הוא אסינכרוני

השורה שמכניסה את התוכן לתוך המשתנה שלך תתבצע רק לארח שהתשובה מהשרת תוחזר.
אתה קורא ל-populateWithData ב"פעם הראשונה" עוד לפני כן. מבין?

(דרך אגב זה לא משנה גלובאלי, אלא משתנה כלוא)

אודי.
 
בקיצור, הפתרון הוא כנראה

לקרוא ל populateWithData מתוך success
 
למעלה