কীভাবে অনুরোধ পেলোড পুনরুদ্ধার করবেন


118

আমি পিএইচপি , এক্সটجےএস এবং এজাক্স স্টোর ব্যবহার করছি ।

এটি পোষ্ট বা জিইটি-তে নয় (ডেটা তৈরি, আপডেট, ধ্বংস) প্রেরণ করে। ইন ক্রোম কনসোল আমি "মধ্যে তাদেরকে JSON হিসেবে আমার বিদায়ী প্যারাম দেখতে অনুরোধ পেলোড " ক্ষেত্র। । _POST এবং $ _GET খালি রয়েছে।

কীভাবে এটি পিএইচপি-তে পুনরুদ্ধার করবেন?

উত্তর:


257

যদি আমি পরিস্থিতিটি সঠিকভাবে বুঝতে পারি তবে আপনি কেবলমাত্র জসন ডেটা পরিবর্তনের জন্য এইচটিপি বডি দিয়ে যাচ্ছেন application/x-www-form-urlencoded

আপনি এই স্নিপেট দিয়ে এই তথ্যটি আনতে পারেন:

$request_body = file_get_contents('php://input');

আপনি যদি জসন অতিক্রম করছেন, তবে আপনি এটি করতে পারেন:

$data = json_decode($request_body);

$data তারপরে জেসন ডেটা পিএইচপি অ্যারে রয়েছে।

php://inputএকটি তথাকথিত মোড়ক হয়

পিএইচপি: // ইনপুট একটি পঠনযোগ্য স্ট্রিম যা আপনাকে অনুরোধের বডি থেকে কাঁচা ডেটা পড়তে দেয়। পোষ্ট অনুরোধগুলির ক্ষেত্রে, ph HTTP_RAW_POST_DATA- র পরিবর্তে php: // ইনপুট ব্যবহার করা ভাল। কারণ এটি বিশেষ php.ini নির্দেশিকার উপর নির্ভর করে না। তদুপরি, সেই ক্ষেত্রে যেখানে RA HTTP_RAW_POST_Data ডিফল্টরূপে জনবহুল হয় না, এটি সর্বদা_ জনসমক্ষে_আর_পোস্ট_ডাটা সক্রিয় করার একটি সম্ভাব্য কম মেমরি নিবিড় বিকল্প। পিএইচপি: // ইনপুট এনক্রিপ = "মাল্টিপার্ট / ফর্ম-ডেটা" সহ উপলভ্য নয়।


2
আমি তথ্য পুনরুদ্ধার করতে পারে। ধন্যবাদ। !
nkuhta

7
তোমাকে অনেক ধন্যবাদ! আমি এই উত্তরটি বেশ কয়েকদিন ধরে সন্ধান করছিলাম এবং ভেবেছিলাম আমি পাগল।
জাচো


@ অ্যাঞ্জেলিননাডার তারপরে এই উত্তরটি প্রযোজ্য।
ইক্কে

লারাভেল ব্যবহার করা হলে কেবল একটি সহায়ক ফাংশন তৈরি করুন যা ১ টি এই স্ট্রিংটি পুনরুদ্ধার করে এবং ২। তাহলে এটি ইনপুট :: সমস্ত () থেকে কোনও অ্যারের থেকে আলাদা হবে না; একদিকে নয় এটি সম্ভবত অন্য সবার জন্যও কাজ করবে।
মাইকেল জে। ক্যালকিন্স

12

এছাড়াও আপনি সেটআপ extJs করতে writerসঙ্গে এবং এটি তথ্য নিয়মিতভাবে পাঠাব (এবং, অত, আপনি মাধ্যমে ডেটা পুনরুদ্ধার করতে সক্ষম হবে এবং )।encode: true$_POST$_GET

... মানগুলি কোনও কাঁচা পোস্টের বিপরীতে অনুরোধের প্যারামিটারগুলির অংশ হিসাবে প্রেরণ করা হবে ( Ext.data.writer.Json এর এনকোড কনফিগারেশনের জন্য ডক্সের মাধ্যমে )

হালনাগাদ

এছাড়াও ডক্স যে বলে,

যখন মূলের সংজ্ঞা দেওয়া হয় তখনই এনকোড বিকল্পটি সত্য সেট করতে হবে

সুতরাং, সম্ভবত, writerএর rootকনফিগারেশন প্রয়োজন।


@ নিকিতাকুহাতা, আপনি কি writerএর রুট কনফিগারেশন সেট করেছেন? এটি প্রয়োজন হতে পারে। encodeআমার জন্য কাজ করে imageshack.us/f/32/20120308153201.png
মলিকুলার ম্যান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.