PDA

View Full Version : ارسال اطلاعات مورد نیاز(فقط) به سرور به جای submit کل فرم



MSYNK
سه شنبه 28 مهر 1383, 15:06 عصر
با سلام
آیا میشه با روشی (هر چد من درآوردی) تنها اون اطلاعات مورد نیاز ما با سرور تبادل داشته باشه(یا حداقل یه قسمت خاصی از فرم Submit بشه) به جای اینکه مثلا برای یه تغییر کوچولو صفحه ای با حجم زیاد به سرور فرستاده بشه؟
البته یکی از روشها استفاده از XMLHttp هستش که نمیدونم تو مرورگرهای غیر IE هم اجرا میشه یا نه؟(آیا کلا اجزای com این چنینی قابل اجرا بر روی مروگرهای دیگه هستند؟)
با تشکر.

Farhad.B.S
چهارشنبه 29 مهر 1383, 13:15 عصر
یک نگاه به سورس صفحه Friends Karma در Orkut :


function CreateXmlHttpReq(handler) {
var xmlhttp = null;
if (is_ie) {
var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
try {
xmlhttp = new ActiveXObject(control);
xmlhttp.onreadystatechange = handler;
} catch(e) {
alert("You need to enable active scripting and activeX controls");
}
} else {
xmlhttp = new XMLHttpRequest();
xmlhttp.onload = handler;
xmlhttp.onerror = handler;
}
return xmlhttp;
}

همونطور که مشاهده میکنید ، کد بالا هم برای IE و هم برای مرورگرهای غیر از IE نوشته شده.
Microsoft.XMLHTTP یک ActiveX هستش که توسط مایکروسافت طراحی شده و به طور پیش فرض همراه
با IE 5 + بر روی سیستم کلاینت نصب میشه .
سایر مرورگر ها مانند Mozila و Safari هم نسخه ای از اون رو پیاده سازی کردن که طریقه استفاده از اون در
قطعه دوم از کد قابل مشاهده است :


xmlhttp = new XMLHttpRequest();

حالا توسط آبجکت ساخته شده در سمت کلاینت ، میتونید اطلاعات خاصی رو توسط کوئری استرینگ ها
به صفحه خاصی بفرستید و یا اطلاعات خاصی رو از جایی دریافت کنید.


آیا کلا اجزای com این چنینی قابل اجرا بر روی مروگرهای دیگه هستند؟

اکتیو ایکس چیزیه که توسط تمامی مرورگرهای نوین پشتیبانی میشه ، مسئاله ای که وجود داره نصب بودن
و یا نبودن یک اکتیو ایکس بر روی سیستم کلاینت و اعتماد کلاینت به شما در مورد استفاده از اون اکتیوایکس هست.
بنابراین با در نظر گرفتن شرایط بالا در همه جا میشه از اونها استفاده کرد.

http://developer.apple.com/internet/webcontent/xmlhttpreq.html
http://www.4guysfromrolla.com/webtech/110100-1.shtml
http://www.scss.com.au/family/andrew/webdesign/xmlhttprequest/

MSYNK
چهارشنبه 29 مهر 1383, 14:32 عصر
با سلام
اتفاقا من با XMLHttp از همین جا آشنا شدم(البته با فرمایشات استاد Inprise)
اما به این نکته ای که استاد فرهاد اشاره کردن زیاد دقت نکرده بودم!(استاد ممنون خیلی بدردم خورد!)

و اما حالا راه حل دیگه ای وجود نداره؟(چون جلوی این یکی رو میشه گرفت!)
با تشکر.