13

का उपयोग करते समय सामग्री-प्रकार के अनुरोध शीर्षलेख को कैसे सेट करें मैं अनुरोध भेजने के लिए npm 'isomorphic-fetch' का उपयोग कर रहा हूं। जिस समस्या का मैं अनुभव कर रहा हूं वह है कि मैं अनुरोध हेडर के सामग्री-प्रकार को सेट करने में असमर्थ हूं।Fetch एपीआई

मैंने सामग्री प्रकार/जेसन सेट किया है, हालांकि अनुरोध हेडर टेक्स्ट/सादे पर सेट किया जा रहा है। कारण है कि मैं इस गुण सेट करने में असमर्थ हूँ

content-type:text/plain;charset=UTF-8 

किसी को भी व्याख्या कर सकते हैं:

import 'isomorphic-fetch'; 

    sendRequest(url, method, body) { 
    const options = { 
     method: method, 
     headers:{'content-type': 'application/json'}, 
     mode: 'no-cors' 
    }; 

    options.body = JSON.stringify(body); 

    return fetch(url, options); 
    } 

जब मैं अपने ब्राउज़र में अनुरोध की जांच सामग्री प्रकार ओ है?

उत्तर

10

मैं निम्न आलेख पढ़ने के बाद जवाब मिला:

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#Headers

गार्ड

के बाद से हेडर अनुरोधों में भेजा जा सकता है और प्रतिक्रियाओं में प्राप्त किया, और विभिन्न सीमाओं क्या जानकारी के बारे में कर सकते हैं है और उत्परिवर्तनीय होना चाहिए, हेडर वस्तुओं की एक गार्ड संपत्ति है। यह वेब के संपर्क में नहीं है, लेकिन यह हेडर ऑब्जेक्ट पर उत्परिवर्तन संचालन की अनुमति देता है।

संभव गार्ड मान हैं:

  • none: डिफ़ॉल्ट।
  • request: अनुरोध से प्राप्त हेडर ऑब्जेक्ट के लिए गार्ड (Request.headers)।
  • request-no-cors: Request.modeno-cors के साथ बनाए गए अनुरोध से प्राप्त शीर्षलेख ऑब्जेक्ट के लिए गार्ड।
  • response: प्रतिक्रिया से प्राप्त एक शीर्षलेख के लिए गार्ड (Response.headers)।
  • immutable: अधिकतर सेवावर्कर्स के लिए उपयोग किया जाता है; एक हेडर ऑब्जेक्ट केवल पढ़ने के लिए प्रस्तुत करता है।

नोट: आप संलग्न या एक request पहरा शीर्षकों 'Content-Length हैडर सेट नहीं कर सकता है। इसी तरह, प्रतिक्रिया शीर्षलेख में Set-Cookie डालने की अनुमति नहीं है: ServiceWorkers को संश्लेषित प्रतिक्रियाओं के माध्यम से कुकीज़ सेट करने की अनुमति नहीं है।

विकल्प मोड संपत्ति नहीं CORS पर सेट होने पर अनुरोध हेडर मूल्यों अपरिवर्तनीय हैं।

इसके बजाय मैंने मोड प्रॉपर्टी को कोर में सेट किया है।

4

आपको एक फ़ेच हेडर ऑब्जेक्ट बनाने की आवश्यकता है।

sendRequest(url, method, body) { 
    const options = { 
    method: method, 
    headers: new Headers({'content-type': 'application/json'}), 
    mode: 'no-cors' 
    }; 

    options.body = JSON.stringify(body); 

    return fetch(url, options); 
} 
+0

इस वाक्य से काम करता है ठीक है 'हेडर: { " सामग्री प्रकार ":" आवेदन/json " },' –

+0

@RTS: यह नहीं करता है काम करने के लिए यदि आप क्रेडेंशियल शामिल लगता है। – user2284570

संबंधित मुद्दे