Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fetch API cannot load the url. Response for preflight is invalid (redirect)

I use fetch to call a post service and I get the error Fetch API cannot load http://localhost:8080/user/login. Response for preflight is invalid (redirect)'. Status code: 302 Found. The variable 'data' is a json object {email: "[email protected]", password: "111"}

   fetch('http://localhost:8080/user/login', {
        method: 'post',
        body : JSON.stringify(data),
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json'
        },
        dataType : 'json'
    })
like image 1000
Dixy Xavier Avatar asked Feb 19 '16 06:02

Dixy Xavier


2 Answers

There maybe several possible reasons you are getting this error.

  • As @toomuchdesign mentioned a possible reason why is because you might need to make a request through https instead of http.
  • Try appending a / to the url. 'http://localhost:8080/user/login/' instead of 'http://localhost:8080/user/login'. As it could be redirecting from a preflight/OPTIONS request.
like image 164
nehabo Avatar answered Nov 16 '22 10:11

nehabo


The error means that the url you're hitting is responding with a redirect to another url.

In my case I was requesting a resource trough http instead of https, so the server was responding with a redirect to https protocol.

More hints here.

like image 33
Andrea Carraro Avatar answered Nov 16 '22 10:11

Andrea Carraro