2016-11-28 6 views
10

res.setHeader और res.header के बीच क्या अंतर है। किसको कॉर्स को सक्षम करने के लिए इस्तेमाल किया जाना चाहिए? कुछ पेज res.header का उपयोग किया जाता है और कुछ पेज res.setHeader का उपयोग CORS के लिए किया जाता है।res.setHeader और res.header के बीच अंतर node.js

+0

संभावित डुप्लिकेट [? कैसे एक्सप्रेस/Node.js में CORS अनुमति देने के लिए] (http://stackoverflow.com/questions/7067966/how-to- अनुमति-cors-in-express-node-js) –

+0

मुझे पता है कि CORS को कैसे अनुमति दें। लेकिन किसी जगह इसे res.header और कहीं res.setHeader लिखा गया है। – Subham

उत्तर

19

res.setHeader() नोड.जेएस और res.header() का मूल तरीका एक्सप्रेस फ्रेमवर्क से res.set() विधि का उपनाम है।

प्रलेखन: res.setHeader(), res.set()

यह दो तरीकों बिल्कुल वही बात करते हैं, हेडर HTTP प्रतिक्रिया निर्धारित किया है। केवल अंतर res.setHeader() आपको केवल एक सिंगलर हेडर सेट करने की अनुमति देता है और res.header() आपको एकाधिक हेडर सेट करने की अनुमति देगा। तो अपनी आवश्यकताओं के साथ एक फिट का उपयोग करें।

+0

यह वास्तव में सही नहीं है। 'res.setHeader ('एक्स-फ़्रेम-विकल्प', '*') 'मान'' '' के साथ एक शीर्षलेख 'एक्स-फ़्रेम-विकल्प' सेट करेगा, जबकि 'res.header ('X-Frame-Options', ' * '' 'मूल्य '*' के साथ एक शीर्षलेख' x-frame-options' सेट करेगा। हालांकि, चूंकि हेडर तकनीकी रूप से असंवेदनशील हैं, इसलिए अधिकांश परिदृश्यों में यह ठीक होना चाहिए। – asleepysamurai

1

शायद एक उदाहरण अधिक स्पष्ट कर सकते हैं:

// single field is set 
res.setHeader('content-type', 'application/json'); 

// multiple files can be set 
res.set({ 
    'content-type': 'application/json', 
    'content-length': '100', 
    'warning': "with content type charset encoding will be added by default" 
    }); 
की
+3

नोट: –

+0

से ऊपर 'सेटहेडर' उदाहरण में "कोलन" के बजाय "कोमा" होना चाहिए वैसे कॉमा गुणों के बीच मौजूद है। कोलन (:) जावास्क्रिप्ट का एक तरीका है जो इसकी गुणों से मूल्य को अलग करता है। तो मुझे पता है कि यह सही है। अगर कोड काम नहीं करता है तो कृपया जांचें और मुझे बताएं। धन्यवाद – Ghafoor

+1

@ गफूर लेकिन नोड का मूल 'res.setHeader' फ़ंक्शन (https://nodejs.org/docs/v0.4.0/api/http.html#response.setHeader) दो तर्क प्राप्त करता है ('name',' value' अल्पविराम से अलग हैं)। हो सकता है कि आपने इसे 'ऑब्जेक्ट' तर्क से भ्रमित कर दिया हो (लेकिन फिर भी '{} 'गायब हैं)। टीएल; डीआर: कोलन एक अल्पविराम होना चाहिए – d2uX

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