php - अनुरोध पेलोड कैसे प्राप्त करें




javascript json (2)

इसके अलावा आप encode साथ extJs writer सेट कर सकते हैं : true और यह नियमित रूप से डेटा भेज देगा (और, इसलिए, आप $_POST और $_GET माध्यम से डेटा पुनर्प्राप्त करने में सक्षम होंगे)।

... मूल्य कच्चे पोस्ट के विपरीत अनुरोध पैरामीटर के हिस्से के रूप में भेजा जाएगा (Ext.data.writer.Json की एन्कोड कॉन्फ़िगरेशन के लिए encode के माध्यम से)

अद्यतन करें

encode भी कहते हैं कि:

रूट परिभाषित होने पर एन्कोड विकल्प केवल सत्य पर सेट होना चाहिए

तो, शायद, writer की root कॉन्फ़िगरेशन आवश्यक है।

मैं PHP , ExtJS और AJAX स्टोर का उपयोग कर रहा हूँ।

यह डेटा (पोस्ट, अपडेट, नष्ट) पर पोस्ट या जीईटी में नहीं भेजता है। क्रोम कंसोल में मैं अपने आउटगोइंग पैरा को " अनुरोध पेलोड " फ़ील्ड में JSON के रूप में देखता हूं। $ _POST और $ _GET खाली हैं।

PHP में इसे कैसे पुनर्प्राप्त करें?


अगर मैं सही ढंग से स्थिति को समझता हूं, तो आप केवल http application/x-www-form-urlencoded http application/x-www-form-urlencoded डेटा के बजाय, http शरीर के माध्यम से जेसन डेटा पास कर रहे हैं।

आप इस डेटा को इस स्निपेट के साथ ला सकते हैं:

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

यदि आप जेसन पास कर रहे हैं, तो आप कर सकते हैं:

$data = json_decode($request_body);

$data तब जेसन डेटा php सरणी है।

php://input एक तथाकथित wrapper

php: // इनपुट केवल पढ़ने-योग्य स्ट्रीम है जो आपको अनुरोध निकाय से कच्चे डेटा को पढ़ने की अनुमति देता है। POST अनुरोधों के मामले में, $ HTTP_RAW_POST_DATA की बजाय php: // इनपुट का उपयोग करना बेहतर है क्योंकि यह विशेष php.ini निर्देशों पर निर्भर नहीं है। इसके अलावा, उन मामलों के लिए जहां $ HTTP_RAW_POST_DATA डिफ़ॉल्ट रूप से पॉप्युलेट नहीं किया जाता है, यह हमेशा_populate_raw_post_data को सक्रिय करने के लिए संभावित रूप से कम स्मृति गहन विकल्प है। php: // इनपुट enctype = "multipart / form-data" के साथ उपलब्ध नहीं है।








extjs