PDA

View Full Version : سوال: فرق بین متد GET و POST در Ajax



Dead Space
پنج شنبه 19 خرداد 1390, 10:05 صبح
سلام
بچه ها من یه سوال برام پیش اومده
زمانی که ما از AJax استفاده می کنیم می تونیم مقادیر رو یا با POST یا با GET بفرستیم ولی عملا مقادیر رو میزاریم آخر اسم فایل و تقریبا میشه همون متد GET میخواستم ببینم پس تفاوت اینها در AJax در چی هستش
با تشکر

محمد باقری نسب
پنج شنبه 19 خرداد 1390, 10:53 صبح
فرقش اینه که در متد get مقادیر در address bar مرورگر نشون داده میشن ولی در متد post نشون داده نمیشن و در اصل محرمانه هستند!

Dead Space
پنج شنبه 19 خرداد 1390, 10:56 صبح
سلام
نه من منظورم این نبود که فرق این دو چیه
فرق این دو رو در AJax پرسیدم
شما در Ajax که دیگه چه Post بفرستی چه GET در آدرس بار طرف چیزی نشون داده نمیشه و همه چی در بک گراند اتفاق میوفته پس این وسط فرق اینها چیه ؟
یعنی در Ajax با POST بفرستم چه فرقی می کنه با GET

eshpilen
پنج شنبه 19 خرداد 1390, 11:08 صبح
سوال خوبیه.
درسته که آدرس رو شما نمیبینید، اما از نظرهای دیگه این درخواست ها هیچ تفاوتی با درخواست های معمولی ندارن و هرکدام محدودیت ها و مسائل امنیتی و کاربردهای خاص خودشون رو دارن. بطور مثال حداکثر حجم دیتایی که در درخواستهای GET میشه ارسال کرد خیلی کمتر از POST هست. یا فرضا شما تقریبا هیچوقت با GET فایل ارسال نمیکنید چون نمیشه یا محدودیت داره یا بهینه نیست.
درخواستهای GET تفاوتهای دیگری هم با POST دارن. مثلا از نظر امنیتی، کش شدن، لاگ شدن در سرورها و غیره که دیگه بحثش یخورده حجیم و ظریف هست و الان هم وقت ندارم.
بهرحال سعی کنید از منطق و اصول و استانداردهای حالت عادی پیروی کنید. فرقی نمیکنه ایجکس باشه یا یه لینک/فرم معمولی. مثلا پروتکل HTTP 1.1 میگه برای درخواست هایی که هربار موجب تغییر در سمت سرور میشن (مثلا درج رکوردی در دیتابیس) از متد POST استفاده کنید. البته این رو خیلی افراد نمیدونن و/یا رعایت نمیکنن.
یا بطور مثال اگر جایی میخواید نام کاربری و پسورد رو ارسال کنید از GET استفاده نکنید؛ حتی با ایجکس.