نویسنده پشتیبانی وب یار
امتیاز مطلب
تعداد بازدید 2131
تاریخ بروزرسانی ۸ فروردین ۱۴۰۱

متد 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 به طور پیش فرض برای ارسال اطلاعات فرم به سرور استفاده می شود. این روش با افزودن یک “نام / مقدار” به انتهای URL و ارسال پارامترها به سرور با استفاده از یک رشته کوئری، داده های یک فرم را به سرور ارسال می کند.

متد 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: درخواست را به صورت یک اسکریپت اجرا می کند . و نتیجه را به صورت متن ساده ای برای شما می فرستد.

 

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

روش POST داده ها را به صورت بسته و در یک اتصال جداگانه به سرور ارسال می کند. داده هایی که به روش POST ارسال می شوند در URL صفحه نمایش داده نمی شوند و از نظر امنیتی انتخاب بسیار خوبی هستند.

با استفاده از متد 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 شوند.

 

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

مقالات مرتبط

نشانی ایمیل شما منتشر نخواهد شد.

    کوتاه سازی لینک

    شهریور ۲۶, ۱۳۹۶پاسخ

    سلام ممنونم عالی بود