سلام
چرا باید برای ارسال اطلاعات از بدنه(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 استفاده میکنم چون باینری بزرگ هست.
منبع:
موفق باشی.