2016-02-19 17 views
8

Io uso fetch per chiamare un servizio postale e ottengo l'errore Fetch API cannot load http://localhost:8080/user/login. La risposta per il preflight non è valida (reindirizzamento) '. Status code: 302 Found. I 'dati' variabile è un JSON object {email: "[email protected]", password: "111"}L'API di recupero non può caricare l'URL. La risposta per il preflight non è valida (reindirizzamento)

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

risposta

2

L'errore significa che l'URL si sta colpendo sta rispondendo con un reindirizzamento a un altro URL.

Nel mio caso, stavo richiedendo una risorsa tramite http anziché https, quindi il server rispondeva con un reindirizzamento al protocollo https.

Altri suggerimenti here.

3

Forse ci sono diversi possibili motivi per ottenere questo errore.

  • Come @toomuchdesign menzionato un possibile motivo è perché potrebbe essere necessario fare una richiesta tramite https invece di http.
  • Prova ad aggiungere un / all'URL. 'http://localhost:8080/user/login/' anziché 'http://localhost:8080/user/login'. Come potrebbe essere il reindirizzamento da una richiesta preflight/OPTIONS.
+0

Problema simile, risolto con il punto 2, ad esempio "/". Puoi approfondire il motivo per cui questo sta accadendo? – ajaykumar