दोनों के बीच क्या अंतर है
request.ContentType = "एप्लिकेशन / जसन; चारसेट = utf-8";
तथा
webRequest.ContentType = "एप्लिकेशन / x-www-form-urlencoded";
दोनों के बीच क्या अंतर है
request.ContentType = "एप्लिकेशन / जसन; चारसेट = utf-8";
तथा
webRequest.ContentType = "एप्लिकेशन / x-www-form-urlencoded";
जवाबों:
पहला मामला वेब सर्वर को बता रहा है कि आप JSON डेटा पोस्ट कर रहे हैं जैसे:
{ Name : 'John Smith', Age: 23}
दूसरा विकल्प वेब सर्वर को बता रहा है कि आप URL में मापदंडों को एन्कोडिंग करेंगे:
Name=John+Smith&Age=23
application/x-www-form-urlencoded
सर्वर को भ्रमित करेगा (मेरे मामले में ज़हर का उपयोग कर अमृत) और परिणामस्वरूप ऑब्जेक्ट के कुछ अनुचित पार्सिंग (यह किसी तरह नेस्टेड सरणी में परिवर्तित हो जाता है) एक सूची के बजाय एक नक्शे के लिए वस्तुओं की)। का उपयोग application/json
करना इस मामले में सही विकल्प होना चाहिए।
webRequest.ContentType = "एप्लिकेशन / x-www-form-urlencoded";
कहाँ है आवेदन / x-www फार्म-urlencoded के नाम से हो?
यदि आप HTTP GET अनुरोध भेजते हैं, तो आप क्वेरी पैरामीटर का उपयोग इस प्रकार कर सकते हैं:
http://example.com/path/to/page
? नाम = भाल और रंग = बैंगनी
फ़ील्ड की सामग्री को क्वेरी स्ट्रिंग के रूप में एन्कोड किया गया है। application/x-www-form-
urlencoded
के नाम पिछले यूआरएल क्वेरी पैरामीटर से आते हैं लेकिन क्वेरी पैरामीटर के बजाय अनुरोध की जहां शरीर यूआरएल में है।
पूरे फॉर्म डेटा को एक लंबी क्वेरी स्ट्रिंग के रूप में भेजा जाता है। क्वेरी स्ट्रिंग में नाम और चरित्र द्वारा अलग किए गए नाम-मूल्य जोड़े शामिल हैं
उदा। फ़ील्ड 1 = मान 1 और फ़ील्ड 2 = मान 2
इसे सरल अनुरोध कहा जा सकता है - प्रीफ्लाइट चेक को ट्रिगर न करें
सरल अनुरोध में कुछ गुण होने चाहिए। अधिक जानकारी के लिए आप यहां देख सकते हैं । उनमें से एक यह है कि सरल अनुरोधों के लिए सामग्री-प्रकार हेडर के लिए केवल तीन मान हैं
3. ज्यादातर फ्लैट परम पेड़ों के लिए, आवेदन / x-www-form-urlencoded की कोशिश की और परीक्षण किया है।
request.ContentType = "एप्लिकेशन / जसन; चारसेट = utf-8";
axios और superagent , दो अधिक लोकप्रिय npm HTTP लाइब्रेरीज़, डिफ़ॉल्ट रूप से JSON निकायों के साथ काम करती हैं।
{ "id": 1, "name": "Foo", "price": 123, "tags": [ "Bar", "Eek" ], "stock": { "warehouse": 300, "retail": 20 } }
अब, यदि अनुरोध सरल अनुरोध नहीं है , तो ब्राउज़र स्वचालित रूप से यह जाँचने के लिए कि क्या यह मूल अनुरोध भेजने के लिए सुरक्षित है विकल्प विकल्प द्वारा मूल से पहले एक HTTP अनुरोध भेजता है । यदि यह ठीक है, तो वास्तविक अनुरोध भेजें। अधिक जानकारी के लिए आप यहां देख सकते हैं ।
x-www-form-urlencoded
AJAX के अनुरोध जैसे वोट आदि के लिए स्टैक्वेरफ्लो और ट्विटर का उपयोग करने वाली साइटें दिखाई दे रही हैंJSON
। मुझे लगता है कि यह सममित अनुरोध / प्रतिक्रिया जोड़ी यानी दोनों JSON के लिए बेहतर है।