PDA

View Full Version : گفتگو: تفاوت jQuery Ajax و XmlHttpRequest



alismith
یک شنبه 11 اردیبهشت 1390, 01:47 صبح
سلام دوستان

می خواستم اگه بشه یکم این دو روش رو باهم مقایسه کنیم ، مثلا اگه ما بخوایم سایتی بر مبنای ایده Ajax داشته باشیم از کدام روش (ابزار jQuery یا XmlHttpRequest) استفاده کنیم بهتره و کلا شما دوستان چه فرق هایی بین این دو روش می بینید
از لحاظ:


کارایی
قدرت
سرعت
بهینه بودن
مزایا
معایب
و...

mehdi.mousavi
یک شنبه 11 اردیبهشت 1390, 10:07 صبح
سلام.
jQuery دو تابع داره که کار ایجاد XmlHttpRequest Object رو عهده دار هستن:

function createStandardXHR() {
try {
return new window.XMLHttpRequest();
} catch( e ) {}
}

function createActiveXHR() {
try {
return new window.ActiveXObject( "Microsoft.XMLHTTP" );
} catch( e ) {}
}

سپس بر اساس اینکه مرورگر شما، XmlHttpRequest رو چگونه پشتیبانی میکنه، XmlHttpRequest Object بدین شکل ایجاد میشه:


jQuery.ajaxSettings.xhr = window.ActiveXObject ?
function() {
return !this.isLocal && createStandardXHR() || createActiveXHR();
} :
createStandardXHR;

در نتیجه، وقتی شما دارید از Ajax در jQuery استفاده می کنید، در حقیقت دارید از همون XmlHttpRequest استفاده می کنید. به اعتقاد من، استفاده از jQuery بسیار بهتر از نوشتن کدهای Boilerplate ای هستش، که احتمالا Error-Prone هم خواهند بود. ضمن اینکه بدین ترتیب می تونید از دیگر امکانات jQuery بهره مند بشید و همه اینها، با اضافه شدن 29KB به Web App ی شما میسر خواهد شد.

موفق باشید.