🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۴ Daniyal Amiri
تفاوت ارسال پارامتر در بدنه url و به وسیله متد post
محمدرضا حل شده توسط محمدرضا

سلام

چرا باید برای ارسال اطلاعات  از بدنه(raw) url  استفاده کرد  و از متد post استفاده نشه

سلام و احترام

اگه امکانش هست یه خورده بیشتر توضیح بدید تا بتونم بهتون کمک کنم

امیر صالحی ۲۶ مهر ۱۳۹۹، ۱۱:۲۶

سلام

برای دریافت دیتا از آرایه POST باید هدر زیر Content-Type: application/x-www-form-urlencoded استفاده کنیم (همانطور که در postman استفاده کردیم) ، ولی چون ما با فرمت json کار میکنیم و هدر application/json را استفاده کرده ایم، باید به صورت raw دیتا را در بدنه درخواست ارسال کنیم.

 

بهترین پاسخ
محمدرضا ۰۳ آبان ۱۳۹۹، ۱۱:۰۸

دانیال جان سلام.
ببین آرایه سوپرگلوبال post فقط میتونه دیتاهایی که این هدر‌ها رو داشته باشن دریافت بکنه:
application/x-www-form-urlencoded
multipart/form-data

که اینها هم از طریق فرم هایی که متد ارسالشون post هست روی هدر قرار میگیره

(دلیلش هم اینه که اون زمانیکه این قاعده رو ست کردن هنوز مباحثی مثل AJAX و جیسون وجود نداشته)

 

بعدها که جیسون اومده و برای انتقال دیتا ازش استفاده کردن اومدن یه روش جدید رو برای دریافت دیتاهایی که هدر application/json رو دارن (داده هایی که بصورت جیسون ارسال میشن) معرفی کردن که همون  ("file_get_contents("php://input هست.

 

امیدوارم تا حدودی با تفاوتشون آشنا شده باشی...

فــــــــــــــــــــرزان ۰۶ آبان ۱۳۹۹، ۱۵:۴۵

سلام 

وقتی که ما body رای روی  x-www-form-urlencoded  تنظیم کنیم . متن به صورت ساده یا /ASCII (۱۲۸ کارکتر) ارسال میشود این بصورت پیش فرض تنظیم هست ،در  این روش تمام data بصورت key_value تبدیل میشود.

 مثل (name=Arash &age =۲۴&work=Student) که با post_$ قابل دریافتن. 

 

ولی اگر میخوای data باینری بزرگ‌تر  // non -Acii ارسال کنی میتوانی از قابلیت Raw استفاده کنی چون مشکلی با انواع فرمت نداره و تمام فرمت را پشتبانی میکنه بدونه چیزی که تغییر بده. قابلیت انواع فرمت‌ها را دارد بطور مثال ( text, json, xml, html, ) و هیچ مشکلی برا ارسال ندارد. و بخاطر همین از  php://input استفاده میکنم چون باینری بزرگ هست.

 

 

منبع:

۱)stackoverflow

۲)programmersought

 

 

موفق باشی.

آرش مکینیان ۰۷ تیر ۱۴۰۰، ۰۷:۲۷