ReactJS API-Daten Abrufen CORS Fehler

Ich habe versucht, zu reagieren, erstellen Sie eine web-app jetzt seit ein paar Tagen für mein Praktikum und ich habe festgestellt ein CORS-Fehler. Ich verwende die neueste version von reactJS, und platzieren Sie diesen in der create-react-app, und unten ist der code für das Holen:

componentDidMount() {
  fetch('--------------------------------------------',{
    method: "GET",
    headers: {
      "access-control-allow-origin" : "*",
      "Content-type": "application/json; charset=UTF-8"
    }})
  .then(results => results.json())
  .then(info => {
    const results = info.data.map(x => {
      return {
        id: x.id,
        slug: x.slug,
        name: x.name,
        address_1: x.address_1,
        address_2: x.address_2,
        city: x.city,
        state: x.state,
        postal_code: x.postal_code,
        country_code: x.country_code,
        phone_number: x.phone_number,
      }
    })
    this.setState({warehouses: results, lastPage: info.last_page});
  })
  .then(console.log(this.state.warehouses))
 }

Tut mir Leid, dass kann ich nicht posten Sie die url für die API aufgrund von Vorschriften, es wird jedoch bestätigt, dass es keine CORS-Einstellung in der API-backend.

Ich allerdings die folgenden Fehler treten beim starten auf mozilla

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at ------------------. (Reason: CORS header Access-Control-Allow-Origin missing).

und

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at ---------------------------------------------. (Reason: CORS request did not succeed).

Wenn laufen auf chrome gibt es den folgenden Fehler

Failed to load resource: the server responded with a status of 405 (Method Not Allowed)

und

Failed to load --------------------------------------------------------: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 405. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

und

Uncaught (in promise) TypeError: Failed to fetch

Andere Sache ist, dass ich bin in der Lage, öffnen Sie die url in meinen Browser ohne Probleme oder was auch immer.

Bitte um Hilfe und danke!

Zusätzliche Informationen

Der Grund, warum ich fügte hinzu, die CORS-Einstellung ist, weil es gibt ein CORS-Fehler, so dass das entfernen es ist nicht wirklich das Problem zu lösen.

Als Nächstes habe ich versucht, proxy Einstellung, aber es gibt jetzt

Unhandled Rejection (SyntaxError): Unexpected token < in JSON at position 0

Laut internet dies wird verursacht, weil die Antwort keine JSON. Allerdings, wenn ich überprüft die API, es gibt diese

api img

was bedeutet, dass der Rückgabetyp sollte ein JSON-Recht?

Zusätzliche Info

überprüfung der Antworten wird der Ertrag dieser

{"status":200,"total":1,"per_page":3,"current_page":1,"last_page":1,"next_page_url":null,"prev_page_url":null,"from":1,"to":3,"data":[{"id":1,"slug":"america","name":"america","address_1":"USA Court","address_2":"USA","city":"USA","state":"USA","postal_code":"94545","country_code":"US","phone_number":"10000001","created_by":null,"updated_by":null,"created_at":"2017-11-10 11:30:50+00","updated_at":"2018-06-28 07:27:55+00"}]}

  • Haben Sie versucht, ein proxy in Ihrem package.json? Irgendwo oben Ihre Abhängigkeiten: "proxy": "http://yourAPI"
  • verwenden Sie nicht Antwort - Header in einen Antrag (d.h. access-control-allow-origin ist ein Antwort-header) - dies wird unweigerlich auslösen CORS-preflight, die der server kann das nicht verstehen - aber, wenn der server nicht zulassen, CORS, es gibt nichts, was ein Kunde tun kann, über die es direkt
  • es wird bestätigt, dass es keine CORS-Einstellung in der API-backend - dann CORS nicht zugelassen werden - Sie haben Ihre eigene Frage beantwortet!!! Lesen Sie, wie CORS funktioniert hier
  • Wenn nicht, CORS aktiviert oder api nicht dienen, JSONP, müssen Sie einen proxy verwenden, die entweder auf dem server die du kontrollierst, oder ein Drittel party-service
  • er wirft noch einen CORS Fehler, auch wenn ich entfernt die cors-Einstellung, mit zu beginnen, es wurde nur dort platziert, nach der Begegnung mit einem cors-Fehler. Ich werde versuchen, die proxy-Sache zuerst
InformationsquelleAutor Last | 2018-07-02
Schreibe einen Kommentar