2012-01-20 16 views
9

मैं एजेक्स अनुरोध से प्रतिक्रिया शीर्षलेख प्राप्त करने का प्रयास कर रहा हूं लेकिन jQuery की getAllResponseHeaders xhr विधि केवल "सामग्री-प्रकार" शीर्षलेख प्रदर्शित करती है। किसी को पता है क्यों?XmlHttpRequest getAllResponseHeaders() सभी शीर्षलेखों को वापस नहीं कर रहा है

यह प्रतिक्रिया हेडर है
पहुंच-नियंत्रण-अनुमति दें-क्रेडेंशियल: सच
पहुंच-नियंत्रण-अनुमति दें-हेडर: यदि संशोधित के बाद से, कैश-नियंत्रण, सामग्री प्रकार, Keep-Alive, एक्स-अनुरोधित-साथ, प्राधिकरण
पहुंच-नियंत्रण-अनुमति दें-तरीके: मिलता है, डाल, पोस्ट, हटाएँ, विकल्प
पहुंच-नियंत्रण-अनुमति दें-मूल:
पहुंच-नियंत्रण-मैक्स-उम्र *: 1,728,000
प्राधिकरण: apikey = "apikey1" AuthenticationToken = "62364GJHGJHG"
कनेक्शन: रखना और जिंदा
सामग्री-लंबाई: 240
सामग्री प्रकार: आवेदन/json; charset = utf-8
एक्स संचालित-द्वारा: एक्सप्रेस

इस सफलता समारोह

params.success = function (response, textStatus, jqXHR) { 
    console.log(jqXHR.getAllResponseHeaders()) 
} 

यह यह क्या लॉग है ...
सामग्री प्रकार: आवेदन/json; charset = utf-8

+0

क्या यह JSONP एक क्रॉस डोमेन कॉल के साथ है? – epascarello

+0

यह एक लॉगिन फॉर्म है जो जेसन को एक नोड सेवा में सबमिट कर रहा है जिसे मैं स्थानीय रूप से चला रहा हूं। तो मेरा पृष्ठ http: // रीढ़ की हड्डी पर चल रहा है और यह http: // localhost: 8000 पर डेटा बना देता है। क्या यही कारण है? – screenm0nkey

+1

यहां आपका समाधान क्या रहा है? – pabera

उत्तर

6

बस इस में भाग गया। ऐसा इसलिए है क्योंकि आप एक सीओआरएस अनुरोध कर रहे हैं और आप स्थान शीर्षलेख का खुलासा नहीं कर रहे हैं।

आप एक्सप्रेस में अपने preflight CORS जवाबी कार्रवाई के लिए एक Access-Control-Expose-Headers जोड़ने की जरूरत:

res.header('Access-Control-Expose-Headers', 'Content-Type, Location'); 
res.send(200); 

कि इस मुद्दे का समाधान होगा।

+0

दीवार के खिलाफ मेरे सिर को टक्कर लगी, यह एक जीवन बचतकर्ता था – chrismarx

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