2016-02-19 22 views
8

Ich benutze fetch, um einen Post-Service aufzurufen, und ich bekomme den Fehler Fetch API cannot load http://localhost:8080/user/login. Antwort für Preflight ist ungültig (Redirect) '. Status code: 302 Found. Die Variable ‚data‘ ist ein json object {email: "[email protected]", password: "111"}Abruf-API kann die URL nicht laden. Antwort für Preflight ist ungültig (Redirect)

fetch('http://localhost:8080/user/login', { 
     method: 'post', 
     body : JSON.stringify(data), 
     headers: { 
      'Accept': 'application/json', 
      'Content-Type': 'application/json' 
     }, 
     dataType : 'json' 
    }) 

Antwort

2

Der Fehler bedeutet, dass die URL Sie treffen auf eine andere URL mit einer Umleitung reagiert.

In meinem Fall habe ich eine Ressource durch http statt https angefordert, so dass der Server mit einer Umleitung auf HTTPS-Protokoll reagierte.

Weitere Hinweise here.

3

Es gibt mehrere mögliche Gründe, warum Sie diesen Fehler erhalten.

  • Wie @toomuchdesign erwähnt einen möglichen Grund dafür ist, weil Sie Ihre Anfrage durch https statt http machen könnte müssen.
  • Versuchen Sie, eine / an die URL anzufügen. 'http://localhost:8080/user/login/' anstelle von 'http://localhost:8080/user/login'. Wie könnte es von einer preflight/OPTIONS Anfrage umleiten.
+0

Ähnliches Problem, gelöst durch Punkt 2, d. H. Anhängen von '/'. Können Sie mehr darüber erklären, warum dies geschieht? – ajaykumar