واضح آرشیو وب فارسی:سایت ریسک: سوال در مورد توابع open و send در ajax ana 9940 25 شهريور 1388, 09:17اين برنامه ي livesearch هست که به محض پيدا کردن اسامي از ديتابيس اونا را نشان ميده. البته غير از دو فايل زير يک فايل livesearch.php هم هست. سوال من اينه که چرا open va send بعد از بررسي state قرار گرفته است. منظورم تو اين سه خط هست: xml ; xml("GET",url,true); xml(null); سوال بعدي هم درباره کدهاييه که در هدر فايل main.html بين تگهاي style نوشته شده چه معني ميدهد؟؟ فايل اول : main.html <head> <script type="text/javascript" src="livesearch.js"></script> <style type="text/css"> #livesearch { margin:0px; width:194px; } #txt1 { margin:0px; } </style> </head> <body> <form> <input type="text" id="txt1" size="30" onkeyup ="showResult(this.value)" /> <div id="livesearch" ></div> </form> </body> فايل دوم : livesearch.js var xml function showResult(str) { if (str.length==0) { document.getElementById("livesearch").innerHTML=""; document.getElementById("livesearch").style.border="0px"; return; } xml() if (xml) { alert ("Your browser does not support XML HTTP Request"); return; } var url="livesearch.php"; url=url+"?q="+str; var selectsub=document.getElementById("selectsub"); xml ; xml("GET",url,true); xml(null); } function stateChanged() { if (xml) { document.getElementById("livesearch").innerHTML=xml document.getElementById("livesearch").style.border="1px solid #A 5ACB 2"; } } function GetXml() { if (window.XML) { return new XML(); } if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } return null; } k2-4u 25 شهريور 1388, 13:33ajax در 4 مرحله کارشو انجام میده . 0 . هیچی نشده 1 . وقتی که دستور باز شده (متد open) 2. وقتی که دستور ارسال شده ولی جواب نیومده ( متد send) 3. در حال دریافت اطلاعات است و هنوز همه اطلاعات نیومده (در این مواقق آیکون loading میگذارن ) 4. وقتی که عملات دریافت تموم شده متد onreadystatechange یک تابع رو ورودی میگیره و هر یک از 5 مرحله که برسه یک بار تابع رو اجرا می کنه یعنی در جمع 5 بار xml ; در این کد شما تابع stateChanged رو به عنوان ورودی این متد داده اید . در همون حرکت اول تابع stateChanged یک بار اجرا میشه (یعنی مرحله 0 ) وقتی برنامه به دستور xml("GET",url,true); میرسه تابع stateChanged یک بار دیگه هم اجرا میشه (مرحله 1 ) و در ادامه با اجرای کد xml(null); تابع stateChanged برای بار سوم اجرا میشه (مرحله 2) وقتی که اطاعات شروع به دریافت کرد . مرحله 3 و پایان دریافت مرحله 4 . سوال بعدي هم درباره کدهاييه که در هدر فايل main.html بين تگهاي style نوشته شده چه معني ميدهد؟؟ این ها کد های CSS هستند. CSS یک زبان . نشانه گذاری مثل HTML است که به HTML هم متصل است . و برای فرمت کردن HTML استفاده می شود مثلا رنگ فوت آبی . پشت صفحه مشکی و ....
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 199]