نحوه استفاده از متد DELETE در پروتکل HTTP

نحوه استفاده از متد DELETE در پروتکل HTTP

213
۱۰ ماه پیش
0

سلام

وقتی از متد DELETE توی ارسال درخواست های HTTP استفاده میکنید اینجا دیکه content-type فرق میکنه.

شما وقتی با نوع form-data میفرستید اونور ینی سمت سرور دیتا نمیگیرید (توی متد DELETE).

راه حل این قضیه،استفاده از x-www-form-urlencoded توی content-type هستش.

وقتی با این نوع داده ای رو میفرستید بصورت key=value&key=value به شما میفرسته و شما میتونید اینو با تابع parse_str تبدیل به آرایه کنید و ازش استفاده کنید.

ناگفته نماند نوع روش دریافت پارامتر ها مثل post یا get نیست که مثلا با POST_$ بخواید پارامتری رو بگیرید که در ادامه میگم چطوریه.

و نکته بعدی اینه که توی htaccess هم در صورت استفاده از آپاچی،دسترسی DELETE رو حتما بدید که بشه ازش استفاده کرد.

و اما برای گرفتن پارامتر ارسالی با متد DELETE به صورت زیر هست :

parse_str(file_get_contents('php://input'));

echo $key;

اینجا اومدم با file_get_contents('php://input') داده هایی که بصورت به سرور با متد DELETE شده رو میگیرم و با تابع parse_str تبدیل به آرایه میکنم.

کار تابع parse_str اینه که داده ای مثل key=value&key=value رو تبدیل به متغیر میکنه و شما میتونید با توجه به اسم کلید توی دیتا،به اون دسترسی داشته باشید.

این روشی که گفتم برای متد های PUT و PATCH هم جواب میده البته PATCH رو حقیقتا تست نکردم ولی این روش اکثرا جواب میده.

برچسب ها :
  • http
نظر خود را بنویسید...