angular अनुरोध प्राप्त करने वाले कोण 2 पर हेडर सेट करें




get header (2)

autorization =  { Authorization: 'Token adfasdfadf651f65asd1f65asdf' }

this.http.get(url, { headers: autorization})

मैं उपयोगकर्ताओं को एक एपीआई के लिए प्रमाणीकृत करने के लिए एक GET अनुरोध पर एक प्राधिकरण हैडर सेट करने का प्रयास करता हूं। मैं कोणीय 2 आरसी 1 का उपयोग कर रहा हूँ (I'am कुल शुरुआत)।

getTest(){
    let authToken = localStorage.getItem('auth_token');
    let headers = new Headers({ 'Content-Type': 'application/json' });
    headers.append('Authorization', `Bearer ${authToken}`);

    let options = new RequestOptions({ headers: headers });
    return this._http
      .get(this._url,options)
      .map(res => console.log(res));
  }

मैं अपने बैकएंड में कॉरस को अनुमति देता हूं

header("Access-Control-Allow-Origin: *");
header("Access-Control-Request-Headers: Content-Type, Authorization");

मेरा कंसोल:

विकल्प API / userProfile /

XMLHttpRequest लोड नहीं कर सकता / userProfile /। प्रीफलाइट के लिए प्रतिक्रिया में अवैध HTTP स्थिति कोड 406 है

मेरा अनुरोध हैडर

कोई उपाय ?


मुझे लगता है कि 406 स्थिति कोड के कारण आपको Accept हेडर की आवश्यकता है ...

let authToken = localStorage.getItem('auth_token');
let headers = new Headers({ 'Accept': 'application/json' });
headers.append('Authorization', `Bearer ${authToken}`);

let options = new RequestOptions({ headers: headers });
return this._http
  .get(this._url,options)
  .map(res => console.log(res));

यह आपको सर्वर को यह बताने की अनुमति देता है कि आपको प्रतिक्रिया में कौन सी सामग्री प्रकार की उम्मीद है ...

Content-Type हेडर आपके अनुरोध में भेजे गए सामग्री के प्रकार को निर्दिष्ट करने के बजाय है। आपके मामले में, कोई सामग्री नहीं है ...







cors