2011-09-27 17 views
24

में सेन्ट हेडर प्राप्त करें XHR ऑब्जेक्ट से अनुरोध शीर्षलेख प्राप्त करने का प्रयास कर रहे हैं, लेकिन कोई भाग्य नहीं है, क्या उस ऑब्जेक्ट की एक छिपी विधि या संपत्ति है जो ब्राउज़र द्वारा भेजे गए शीर्षकों का पर्दाफाश करेगी?एक XMLHttpRequest

मुझे पहले से ही पता है कि कस्टम अनुरोध शीर्षलेख कैसे सेट करें और प्रतिक्रिया शीर्षलेख देखें, मैं ब्राउज़र और मेरे कस्टम लोगों द्वारा बनाए गए सभी अनुरोध शीर्षलेखों की एक सूची प्राप्त करना चाहता हूं।

मैं वेबकिट/क्रोम का उपयोग कर रहा हूं, अन्य ब्राउज़रों की परवाह नहीं करता हूं।

संपादित करें: मैं अनुरोध की निगरानी नहीं कर रहा हूं, मैं एक वेब ऐप बना रहा हूं और मुझे उन शीर्षकों को सूचीबद्ध करने और उन्हें ऐप के भीतर प्रदर्शित करने की आवश्यकता है, कृपया मुझे फिडलर, फायरबग और क्रोम टूल्स के बारे में न बताएं , यह वह नहीं है जिसे मैं ढूंढ रहा हूं।

+0

आप आप द्वारा इस्तेमाल किया कोड प्रदर्शित कर सकते हैं? – AmGates

+1

मैं किसी भी एक्सएचआर अनुरोध के साथ थोड़ा अंतर डाल सकता हूं, क्या कोई अनुरोध हेडर तक पहुंच सकता है जैसे आप xhr.getAllResponseHeaders() –

+2

के साथ प्रतिक्रिया शीर्षकों तक पहुंच सकते हैं ऐसा लगता है कि आप नहीं कर सकते .... कम से कम डब्ल्यू 3 सी स्पेक। एक विकल्प हो सकता है कि आपका सर्वर सभी अनुरोध शीर्षलेख वापस कर दे। दूसरा विकल्प क्रोम टूल्स का उपयोग डोम को देखने के लिए करना होगा और शायद क्रोम में एक पठनीय संपत्ति है जिसे आप अपनी स्क्रिप्ट के माध्यम से कॉल कर सकते हैं। – trydyingtolive

उत्तर

20

में प्राप्त अनुरोध हेडर प्राप्त करने के लिए XMLHttpRequest API में कोई विधि नहीं है। केवल प्रतिक्रिया शीर्षलेख प्राप्त करने के तरीके हैं, और अनुरोध हेडर सेट करें।

आपको या तो सर्वर हेडर को प्रतिबिंबित करना होगा, या वायरसर्क जैसे पैकेट स्निफ़र का उपयोग करना होगा।

2

फिडलर वेब डीबगर का उपयोग करने का प्रयास करें।

http://www.fiddler2.com/fiddler2/

आप अनुरोध है कि किसी भी ब्राउज़र में भेजा गया था और साथ ही अनुरोध हेडर, प्रतिक्रिया हेडर का निरीक्षण के रूप में, और यहां तक ​​कि एक पर कब्जा भेजा अनुरोध कॉपी और अपने खुद के रूप में यह बाहर भेजने पर कब्जा कर सकते हैं।

+3

मुझे हेडर्स को जावास्क्रिप्ट में स्वयं तक पहुंचने की ज़रूरत है, मैं बाहरी अनुरोधों की निगरानी नहीं करना चाहता हूं। –

-1

मान लें कि आप jQuery का उपयोग कर रहे हैं, और आप संलग्न कुछ भी ढूंढ रहे हैं, लेकिन शायद सभी शीर्षलेख भेजे गए नहीं हैं, इससे मदद मिल सकती है। सुनिश्चित नहीं हैं कि अगर यह, अपने सटीक जरूरतों को पूरा करती है (क्योंकि ब्राउज़र अपनी ही बातों को जोड़ने के लिए जाता है), लेकिन अगर आप पहले स्वयं के हैडर को आकर्षित करने की जरूरत है, इस काम करता है:

$.ajaxSetup({ 
    beforeSend: function (jqXHR, settings) { 
     if(!(settings.headers && settings.headers.token)) { 
      //no token header was set, so set the request header 
      jqXHR.setRequestHeader('token', newtoken); 
     } 
    } 
})