FB Fetch – Keine Access-Control-Allow-Origin

Bin ich, eine app zu entwickeln mit React + Redux und ich habe meine JSON Datenbank innerhalb eines Firebase DB.
Um dies zu tun, ich bin tryin zu fetch meine Daten von einer gültigen URL (validiert von FB simulator)

let firebase = 'https://******.firebaseio.com/**/*/***/*' 
    return (dispatch) => {
        return fetch(firebase)
            .then(res => res.json())
            .then(json => dispatch({ type: 'GET_JSON', payload: json }))
    }

Dieser gibt mir die Fehlermeldung: Fetch API cannot load https://console.firebase.google.com/project/****/database/data/**/*/***/*. Redirect from 'https://console.firebase.google.com/project/****/database/data/**/*/***/*' to 'https://accounts.google.com/ServiceLogin?ltmpl=firebase&osid=1&passive=true…ole.firebase.google.com/project/****/database/data/**/*/***/*' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Habe ich versucht, viele Lösungen, wie das hinzufügen zu Holen, das zweite argument { mode: 'no-cors', credentials: 'same-origin'}, aber wenn ich das bekomme ich Uncaught (in promise) SyntaxError: Unexpected end of input.

Was bin ich?

  • möglicherweise werden doppelte von stackoverflow.com/questions/29948190/…
  • Ich hatte das gleiche problem, und ich löste es durch die übergabe { method: 'GET', mode: 'cors', headers: new Headers({ 'Content-Type': 'application/json' } zu fetch als das zweite argument.
InformationsquelleAutor Luca Mormile | 2016-10-17



2 Replies
  1. 0
    likely error that arise to  cors blocked when using firebase is
    when you initiate a put or get request with an incomplete firebase url
    e.g
    //wrong form
     this.http.get('https://******.firebaseio.com/data')   //this will throw an exception
    
    //correct form                                                    
      this.http.get('https://******.firebaseio.com/data.json')

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.