DPI Guide Forums-viewtopic-آموزش JavaScript قسمت بیست و هفتم (قسمت پایانی ): Ajax and Remote Scripting 

کاربر گرامی ورود شما را به سایت خیر مقدم عرض میکنیم. جهت استفاده از تمامی امکانات سایت باید عضو شوید. جهت عضویت اینجا را کلیک کنید.



Download Last Verion Of Firefox
DPI Guide
ورود / ثبت نام
جمعه 21 اسفند 1388
DPIGuide.Com :: مشاهده موضوع - آموزش JavaScript قسمت بیست و هفتم (قسمت پایانی ): Ajax and Remote Scripting

مشاهده موضوع بعدی
مشاهده موضوع قبلی
ارسال موضوع جدید   پاسخ دادن به این موضوع   تشکر کردن از تاپیک   Printer-friendly version
نویسنده پیام

Coward
Forum Moderator
Forum Moderator


عضو شده در: 6 شهریور 1386
پست: 840
blank.gif


امتیاز: 246
[وضعيت كاربر:آفلاین]

پستتاریخ: جمعه 7 فروردین 1388 - 23:15 پاسخگویی به این موضوع بهمراه نقل قول بازگشت به بالای صفحه

قسمت بیست و هفتم : Ajax and Remote Scripting
لینک قسمت های قبل

قسمت اول : اصول ابتدایی
قسمت دوم :افزودن جاوا اسکریپت در صفحه
قسمت سوم :متغیر ها در جاوا اسکریپت
قسمت چهارم :انواع عملگرها
قسمت پنجم : عملیات های محاسبه ای
قسمت ششم : تبدیل کردن
قسمت هفتم : کار با آرایه ها
قسمت هشتم : شرط
قسمت نهم : حلقه ها
قسمت دهم : متد(تابع)
قسمت یازدهم : object
قسمت دوازدهم : object (عدد)
قسمت سیزدهم : object (آرایه)
قسمت چهاردهم : Object زمان
قسمت پانزدهم : کلاس در جاوا اسکریپت
قسمت شانزدهم : Bom
قسمت هفدهم : فرم ها
قسمت هجدهم : فرم ها (2)
قسمت نوزدهم : باز کردن یک پنچره جدید
قسمت بیستم : مباحث پیشرفته در string
قسمت بیست و یکم :نکاتی مربوط به زمان و تاریخ
قسمت بیست و دوم : کوکی
قسمت بیست و سوم : Dynamic Html
قسمت بیست و چهارم : کار با CSS
قسمت بیست و پنجم : Dynamic HTML in Modern Browsers
قسمت بیست و ششم : Java Script And Xml

امروزه تکنولوژی Ajax به سرعت در حال رشد است این تکنولوژی از ترکیب javascript پیشرفته و xml ایجاد می شود با این تکنولوژی می توان بدون باز گذاری مجدد یک page تغییرات یا اطلاعات را به سرور فرستاد
برای اطلاعات بیشتر در مورد ajax به می توانید به این لینک مراجعه کنید
برای درس امروز حتما در درس قسمت قبل را کامل مطالعه کنید

برای شروع ما باید یک XMLHttpRequest را ایجاد کنیم برای این کار مانند درس قبل ما از کتابخانه ی MSXML استفاده می کنیم برای مثال :

کد:

var oHttp = new ActiveXObject("Microsoft.XMLHttp");


مانند درس قبل در اینجا هم ما 2 تا ورژن داریم
همان تابع create document جلسه قبل را برای این قسمت هم ایجاد می کنیم

کد:

function createXmlHttpRequest()
{
var versions =
[
"MSXML2.XmlHttp.6.0",
"MSXML2.XmlHttp.3.0"
];
for (var i = 0; i < versions.length; i++)
{
try
{
var oHttp = new ActiveXObject(versions[i]);
return oHttp;
}
catch (error)
{
//do nothing here
}
}
return null;
}


مثل مبحث قبل این object هم در 2 گونه است وبرای تشخیص آن هم 2 روش وجود دارد
روش اول : استفاده از window.XMLHttpRequest
در ورژن های جدید IE یعنی از ورژن 6 به بعد window.XMLHttpRequest در IE قرار گرفت ولی از همان ابتدا در opera ,firefoxt,safari وجود داشت در ورژن های قبل window.ActiveXObject
وجود داشت حال با قرار گرفتن window.ActiveXObject کافی است تابع XMLHttpRequest() را برای ساخت object مورد نظرمان استفاده کنیم
که کد آن به صورت زیر است

کد:


function createXmlHttpRequest()
{
if (window.XMLHttpRequest)
{
var oHttp = new XMLHttpRequest();
return oHttp;
}
else if (window.ActiveXObject)
{
var versions =
[
"MSXML2.XmlHttp.6.0",
"MSXML2.XmlHttp.3.0"
];
for (var i = 0; i < versions.length; i++)
{
try
{
var oHttp = new ActiveXObject(versions[i]);
return oHttp;
}
catch (error)
{
//do nothing here
}
}
}
return null;
}


روش دوم : استفاده از یک خاصیت در قسمت body است به نام maxHeight
که کد آن به صورت زیر است


کد:

if (typeof document.body.style.maxHeight != "undefined") {
  // IE 7, mozilla, safari, opera 9
} else {
  // IE6, older browsers


امروز از این روش برای تشخیص نوع browser استفاده می کنند

استفاده از XMLHttpRequest Object
خوب بعد از ساخته شدن XMLHttpRequest Object نوبت به استفاده کردن از آن است
برای اولین قدم ما از متد open استفاده می کنیم
این متد 3 تا ورودی می گیرد

کد:

oHttp.open(requestType, url, async);


اولی نوع فرستادن است که می تواند get یا post باشد
دومی به آدرسی که باید فرستاده شود
سومی هم همگام و ناهمگام بودن است که توضیح داده شد در مبحث قبلی (اجرا شدن کل کدها سپس بارگذاری صفحه یا بارگذاری صفحه بعد اجرا شدن کد ها )

کد:

var oHttp = createXmlHttpRequest();
oHttp.open("GET", "http://localhost/myTextFile.txt", false);
oHttp.send(null);

متد send یک ورودی می گیرد که آن هم null است

هر XMLHttpRequest یک وضیعت پاسخ دهی دارد این شامل خصوصیت کدوضعیت HTTP باسرویس دهنده است اگر درخواست پیدا شد این وضیعت 200 است اگر پیدا نشد این وضیعت 404 است
برای مثال :

کد:

var oHttp = createXmlHttpRequest();
oHttp.open("GET", "http://localhost/myTextFile.txt", false);
oHttp.send(null);
if (oHttp.status == 200)
{
aler t("The text file was found!");
}
else if (oHttp.status == 404)
{
aler t("The text file could not be found!");
}
else
{
aler t("An error occurred while attempting to retrieve the file!");
}


خوب حالا بیاین براش یک کلاس بنویسیم

کد:

function HttpRequest(sUrl, fpCallback)
{
this.request = this.createXmlHttpRequest();
this.request.open(“GET”, sUrl, true);
var tempRequest = this.request;
function request_readystatechange()
{
if (tempRequest.readyState == 4)
{
if (tempRequest.status == 200)
{
fpCallback(tempRequest.responseText);
}
else
{
ale rt("An error occurred trying to contact the server.");
}
}
}
this.request.onreadystatechange = request_readystatechange;
}


کلاس نوشتن هم که در درس های قبل گفته شده برای پیدا کردن لینکش به بالای صفحه برین

کد ما تمام شد حالا کلش را اینجا می گذارم خودتان مقایسه کنید
لینک کل کد
خوب کد بالا را به نام httprequest.js ذخیره می کنیم
اینم یک مثال برای استفاده از این کد

_________________
عمار پتکی
در نبود آنچه که من نیستم, آنچه که هستم نیست
آنگاه که نمادی از امید در فنجان قهوه ات نمی بینی وآنگاه که در طالع این ماهت نیز خبری از معجزه نیست بدان که خداوند همه چیز را به دست خودت سپرده تا بهترين را به ارمغان بياوري
خواندن مشخصات فردی ارسال پیام شخصی شناسه عضویت در Yahoo Messenger
تشکرها از این تاپیک
melisa(شنبه 8 فروردین 1388 - 10:44), Coward از این تاپیک تشکر میکنم 

Coward
Forum Moderator
Forum Moderator


عضو شده در: 6 شهریور 1386
پست: 840
blank.gif


امتیاز: 246
[وضعيت كاربر:آفلاین]

پستتاریخ: دوشنبه 10 فروردین 1388 - 22:09 پاسخگویی به این موضوع بهمراه نقل قول بازگشت به بالای صفحه

خوب دوستان dpi خودم آموزش javascript هم تمام شد چند وقت پیش یک گشت و گذاری توی نت کردم و متوجه شدم ما اولین سایتی هستیم که آموزش javascript را به صورت کامل و فارسی در سایتمون قرار دادیم و یک آموزش خوبی برای دوستانی که می خواهند با این زبان آشنا بشوند شده انشالا که دوستان هر کم کاستی داشته اول اعلام کنند که درستش کنیم و دوم به بزرگی خودشان ببخشند
چند روز دیگه کل این آموزش ها را به صورت pdf کرده و در سایت قرار می دهیم
انشالا در فکر گذاشتن آموزش پیشرفته javaScript هستم که چند وقت دیگر استارت آن را هم می زنم خداوند کمک کنه و آن را هم تمام کنیم و تبدیلش کنیم به یک مرجع کامل و حرفه ای javascript فارسی در ایران
به امید آن روز
موفق باشید و عید خوبی داشته باشید

عمار پتکی 87/1/11

_________________
عمار پتکی
در نبود آنچه که من نیستم, آنچه که هستم نیست
آنگاه که نمادی از امید در فنجان قهوه ات نمی بینی وآنگاه که در طالع این ماهت نیز خبری از معجزه نیست بدان که خداوند همه چیز را به دست خودت سپرده تا بهترين را به ارمغان بياوري
خواندن مشخصات فردی ارسال پیام شخصی شناسه عضویت در Yahoo Messenger
نمایش پستها:       
ارسال موضوع جدید   پاسخ دادن به این موضوع   تشکر کردن از تاپیک   Printer-friendly version

مشاهده موضوع بعدی
مشاهده موضوع قبلی
شما نمی توانید در این بخش موضوع جدید پست کنید
شما نمی توانید در این بخش به موضوعها پاسخ دهید
شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید
شما نمی توانید موضوع های خودتان را در این بخش حذف کنید
شما نمی توانید در این بخش رای دهید
شما نمیتوانید به نوشته های خود فایلی پیوست نمایید
شما نمیتوانید فایلهای پیوست این انجمن را دریافت نمایید

:: DpiGuide.Com Forums ::
تمام زمانها بر حسب GMT + 3.5 Hours می‌باشند
Forums ©
 
PHP-Nuke © 2004 Francisco Burzi
INP-Nuke

مدت زمان ایجاد صفحه : 0.18 ثانیه

:: DpiGuide.Com - Copyright All Rights Reserved By DpiGuide :: Info [at] DpiGuide.Com [dot] Com ::