متد get و Post در Ajax جی کوئری-درس هفتم

آخرین بروز رسانی: شهریور ۱۸, ۱۳۹۶

آموزش متد get و Post در Ajax جی کوئری :

از آنجای که طراحان سایت باید با ارسال و دریافت اطلاعات به صورت پنهانی و در پشت زمینه (بدون رفرش صفحه) . همین طور استفاده از دو شیوه استاندارد برای رد و بدل کردن محتوا بین صفحات وب و فایل های سرور آشنا باشند. در این قسمت قصد داریم ، با هم در رابطه با کتابخانه بسیار کارآمد Ajax در جی کوئری ، دو متد get و متد post آن صحبت کنیم . پس با وبیار همراه باشید.

تکنوژی Ajax چیست ؟

تکنولوژی Ajax برای اولین بار جهت استفاده از داده های xml  در جاوا اسکریپت ایجاد شد . Ajax  یک زبان برنامه نویسی نیست . از تکنولوژی Ajax برای ارتباط با سرور از طریق جاوااسکریپت و ایجاد صفحات داینامیک استفاده می شود .

واژه Ajax مختصر شده ی عبارت (Asynchronous JavaScript and XML) است. تکنولوژی Ajax به معنی نقل و انتقال داینامیک و غیرهمزمان اطلاعات در صفحات وب، بدون بارگذاری مجدد (reload) آنها است. منظور از غیرهمزمانی این است که با ارسال یک درخواست مبتنی بر Ajax نیازی به بارگذاری مجدد صفحه وب نیست. به طور مثال فرض کنید.

بخواهید بخش کوچکی از قسمت مدیریت سایت خود را (مانند بخش تعداد آخرین نظرات) را  به روزرسانی کنید. در حالت معمول برای انجام این کار راهی جز refresh صفحه وب وجود ندارد . اما با Ajax می توان در فواصل زمانی خاص درخواست هایی در پس زمینه ارسال، نتیجه را دریافت و مطابق با نیازمان به کمک جاوا اسکریپت پردازش کرد.

تکنوژی Ajax در جی کوئری:

در جی کوئری برای استفاده از تکنوژی Ajax از توابعی استفاده می شود که کار با این تکنوژی را بسیار آسان می کند .شما با بهره گیری از این توابع میتوانید تبادل اطلاعات را با سرور بصورت TXT , HTML , XML و JASON و با استفاده از  متد get و متد post انجام دهید.همین طور می توانید برای نمایش اطلاعاتی که از سرور بدست می آورید از یک انتخابگر(selector) استفاده نمایید.

آموزش متد get و متد post در Ajax جی کوئری

متد get و متد post در Ajax جی کوئری:

متد  get در Ajax جی کوئری:

متد get، با استفاده از یک درخواست HTTP GET ، اطلاعات مورد نظر را از سرور مورد نظرشما می خواند .

شکل کلی استفاده از متد get به صورت زیر است .

 url : این پارامتر شامل آدرس فایلی است که می خواهید متد get آن را از سرور درخواست کند و بخواند .استفاده از این پارامتر اجباری است .

 data : این پارامترشامل اطلاعات اضافی است که میخواهیم به همراه درخواست خود برای سرور ارسال کنیم .استفاده از این پارامتر اختیاری است .

برای مثال فرض کنید  : شما از سرور درخواست print  از یکی از فایل هایش را دارید . و میخواهید که پس از انجام اینکار برای شما ایمیلی تحت عنوان انجام درخواست شما فرستاده شود. پس آدرس ایمیل خود را به همراه درخواست ارسال می نمایید .

function : این پارامتر شامل تابعی که می خواهید در حین ارسال درخواست  Ajax به سرور ، انجام گیرد . استفاده از این پارامتر اختیاری است . این تابع خود می تواند چندین پارامتر نیز داشته باشد :

Data -1 : این پارامترشامل اطلاعات خروجی درخواست شما است.
status  -2  : این پارامتر وضعیت درخواست را مشخص میکند. حالات مختلف ان عبارتند از:
success : موفق .
notmodified : هنوزبررسی نشده.
error :  اشکال در ارسال یا پردازش درخواست .
timeout : مدت زمان کافی برای اجرای درخواست تمام شده است .
parseerror : خواندن و اجرای درخواست با مشکل مواجه شده است .

xhr -3 : در بر گیرنده شی XmlHttpRequest است .

 dataType  -4  : این پارامتربه شما اجازه می دهد نوع داده ارسالی از سمت سرور را مشخص کنید . استفاده از این پارامتر اختیاری است . در صورت مشخص نکردن این پارامتر به صورت اتوماتیک و پیش فرض jQuery ، نوع این داده را حدس می زند. نوع داده می تواند یکی از انواع زیر باشد:

 Xml :یک فایل xml

 Html : یک فایل html

  Text: یک فایل متنی /string

  Script: درخواست را به صورت یک اسکریپت اجرا می کند . و نتیجه را به صورت متن ساده ای برای شما می فرستد.

متد get در Ajax جی کوئری :

با استفاده از متد post ، می توان فایلی را از سرور با استفاده از یک درخواست HTTP POST خواند . و درنهایت از خروجی بر روی صفحه استفاده کرد .شکل کلی استفاده از متد post بصورت زیر است .

url : این پارامتر شامل آدرس فایلی است که می خواهید متد post آن را از سرور درخواست کرده و بخوانید .استفاده از این پارامتر اجباری است.

data : این پارامترشامل اطلاعات اضافی است که میخواهیم به همراه درخواست خود برای سرور ارسال کنیم .استفاده از این پارامتر اختیاری است .

برای مثال فرض کنید شما از سرور درخواست print  از یکی از فایل هایش را دارید . و میخواهید که پس از انجام اینکار برای شما ایمیلی تحت عنوان انجام درخواست شما فرستاده شود پس آدرس ایمیل خود را به همراه درخواست ارسال می نمایید .

function : این پارامتر شامل تابعی که می خواهید پس از پایان  متد post انجام گیرد . استفاده از این پارامتر اختیاری است . این تابع خود می تواند چندین پارامتر نیز داشته باشد.

Data -1 : این پارامترشامل اطلاعات خروجی درخواست شما است.

status -2 : این پارامتر وضعیت درخواست را مشخص میکند. حالات مختلف ان عبارتند از:

success : موفق .
notmodified : هنوز بررسی نشده.
error : اشکال در ارسال یا پردازش درخواست .
timeout : مدت زمان کافی برای اجرای درخواست تمام شده است .
parseerror :خواندن و اجرای درخواست با مشکل مواجه شده است .

xhr -3 : در بر گیرنده شی XmlHttpRequest است .

dataType  -4 : این پارامتربه شما اجازه می دهد نوع داده ارسالی از سمت سرور را مشخص کنید . استفاده از این پارامتر اختیاری است . در صورت مشخص نکردن این پارامتربه صورت اتوماتیک و پیش فرض jQuery ، نوع این داده را حدس می زند. نوع داده می تواند یکی از انواع زیر باشد.

 Xml :یک فایل xml

 Html : یک فایل html

 Text: یک فایل متنی /string

Script: درخواست را به صورت یک اسکریپت اجرا می کند و نتیجه را به صورت متن ساده ای برای شما می فرستد.

تفاوت بین متدهای get , post  :

 دو تفاوت مهم متدهای  get  و post:

متد get اطلاعات ارسالی را به آدرس لینک اضافه می کند و در واقع از طریق لینک ، اطلاعات را ارسال می کند . دراین روش ارسال ،هر کسی به راحتی می تواند در آدرس بار اطلاعات ارسالی را مشاهد کند .و حتی در آن اطلاعات از طریق آدرس بار تغییراتی ایجاد کند.ممکن است برای شما این سوال پیش آید که این روش ارسال ، چه فایده ای دارد ؟

به مثال زیر توجه کنید :

دربرخی از سایت ها که به شما لینکی اختصاص میدهند . در واقع  این لینک برای معرفی شماست و هر کسی از طریق این لینک وارد سایت شود یا در سایت عضو شود زیر مجموعه شما حساب میشود. این سایت ها در واقع در سمت سرور اطلاعات ارسالی توسط متد get یا همون اطلاعات اضافی در آدرس بار که بعد از آدرس صفحه قرار دارد را چک می کنند و به این طریق متوجه می شوند. که این فرد از طریق شما به سایت معرفی شده است . برای استفاده از این روش ارسال ، یک محدودیت متد Get  این است که فقط مجاز به انتقال تعداد محدودی از کاراکترها (وابسته به پهنای باند شما) می باشد.

و اما در متد post اطلاعات از طریق http headers ارسال می شوند بنابراین با استفاده از پروتکل امن http  داده ها امنیت بیشتری دارند.با استفاده از این متد می توان تعداد زیادی از داده ها و داده های باینری را انتقال داد . و هیچ محدودیتی برای ارسال اطلاعات وجود ندارد.از متد post برای ارسال اطلاعات مهم استفاده میشود. مثل ارسال کلمه عبور و پسورد البته برای بالا بردن امنیت استفاده تنها از متد post کافی نیست و انجام این کار به تنهایی نمی تواند جلوی حملات هکر ها را بگیرد .

سایر تفاوت ها :

در متد get پارامترها در کش مرورگر باقی می ماند ولی در متد post پارامترها در کش مرورگر باقی نمی ماند.

در متد get داده ها در url  قابلیت bookmark  شدن دارند ولی در متد post داده ها در url  قابلیت bookmark  شدن ندارند.

در متد get داده ها می توانند cache  شوند ولی در متد post داده ها نمی توانند cache  شوند.

 

­­­­­­­­­­­­و در آخر:

ممنون از شما همراهان وبیار.

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

مطالب مرتبط
ارتباط با تیم پشتیبانی وب یار

تمام پشتیبان ها در حال پاسخ به مشتریان هستند. لطفا درخواست خود را ارسال نمایید تا در کوتاه ترین زمان ممکن با شما تماس بگیریم.

چه کمکی از تیم وب یار بر می آید ، با ما در میان بگذارید

برای گفتگو کلید ENTER را بفشارید

کلیه حقوق مادی و معنوی این اثر متعلق به طراحی سایت اصفهان وب یار می باشد CopyRight 2017

بالا