कोणीय में कस्टम http प्रतिक्रिया शीर्षलेख तक पहुंच - जावास्क्रिप्ट, कोणीय, आराम, कोणीय-http

सर्वर से प्रतिक्रिया

मैं हेडर "त्रुटि-विस्तार" तक पहुंचने का प्रयास कर रहा हूंजैसा कि आप ब्राउज़र नेटवर्क इंस्पेक्टर (ऊपर लिंक) में देख सकते हैं, हेडर वापस आ जाता है। सर्वर-वार मैंने क्रॉस-डोमेन अनुरोधों को अनुमति देने के लिए "एक्सेस-कंट्रोल-एक्सपोज़-हेडर" में कस्टम हेडर भी जोड़ा है क्योंकि यह अन्य प्रश्नों पर ठीक होने का सुझाव दिया गया था।

नीचे सफलता / त्रुटि कॉलबैक के साथ सर्वर के लिए अनुरोध है।

this.signon = function (request, onComplete, onError) {
console.log("Calling server with "login" request...");

return $http.post("http://localhost:8080/markit-war/services/rest/UserService/login/", request)
.then(onComplete, onError);
};

var onLookupComplete = function(response) {
if (response.data.username)
{
//If user is returned, redirect to the dashboard.
$location.path("/dashboard");
}

$scope.username = response.data.username;
};

var onError = function(response) {
$scope.error = "Ooops, something went wrong..";
console.log("error-detail: " + response.headers("error-detail"));
};

जब मैं प्रतिक्रिया शीर्षलेख तक पहुंचने का प्रयास करता हूं जैसा कि नीचे देखा गया है:

    console.log(response.headers());
console.log("error-detail: " + response.headers("error-detail"));

यह केवल आउटपुट करता है: सामग्री-प्रकार: "एप्लिकेशन / जेसन" त्रुटि-विवरण: शून्य

क्या कोई कारण है कि त्रुटि-विवरण शीर्षलेख प्रतिक्रिया ऑब्जेक्ट पर मैप नहीं किया जा रहा है?

उत्तर:

जवाब के लिए 8 № 1

मुझे लगता है कि तुम सही रास्ते पर हो। कस्टम हेडर तक पहुंच प्राप्त करने के लिए, आपके सर्वर को यह विशेष सेट करने की आवश्यकता है Access-Control-Expose-Headers हेडर, अन्यथा आपका ब्राउज़र केवल 6 पूर्वनिर्धारित शीर्षलेख मानों तक पहुंच की अनुमति देगा जैसा कि सूचीबद्ध है मोज़िला दस्तावेज़

आपके स्क्रीनशॉट में ऐसे हेडर प्रतिक्रिया में मौजूद नहीं है। प्रतिक्रिया में उपस्थित होने के लिए आपको इस कोर हेडर के लिए बैकएंड पर एक नज़र रखना चाहिए।


जवाब के लिए 6 № 2

यह है एक CORS मुद्दा। चूंकि यह एक क्रॉस-मूल अनुरोध है, ब्राउज़र अधिकांश शीर्षकों को छुपा रहा है। सर्वर को एक शामिल करने की जरूरत है पहुंच-नियंत्रण-बेनकाब-हेडर इसकी प्रतिक्रिया में हेडर।

The पहुंच-नियंत्रण-बेनकाब-हेडर1 प्रतिसाद शीर्ष लेख इंगित करता है कि उनके नाम सूचीबद्ध करके प्रतिसाद के भाग के रूप में कौन से शीर्ष लेख प्रदर्शित किए जा सकते हैं ।

डिफ़ॉल्ट रूप से, केवल 6 साधारण प्रतिक्रिया शीर्ष लेख सामने आ रहे हैं:

  • कैश-नियंत्रण
  • सामग्री-भाषा
  • सामग्री-प्रकार
  • समयसीमा समाप्त
  • अंतिम-संशोधित
  • Pragma

यदि आप चाहते है कि ग्राहक अंय शीर्षलेखों तक पहुंचने में सक्षम हों, तो आपको उनका उपयोग करके सूचीबद्ध करना होगा Access-Control-Expose-Headers शीर्ष लेख.

अधिक जानकारी के लिए, देखें MDN HTTP हैडर-अभिगम-नियंत्रण-बेनकाब-हेडर


संबंधित सवाल
सबसे लोकप्रिय