Kezdőoldal » Számítástechnika » Programozás » Miért nem müködik a fetch...

Miért nem müködik a fetch javascriptben?

Figyelt kérdés

Cloudflare-n van a domainem.

És szeretném az API-t használni de mindig ezt a hiba üzenetet kapom:

Access to XMLHttpRequest at ' [link] zoneid}/dns_records' from origin ' [link] has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.



2023. márc. 28. 17:40
 1/4 anonim ***** válasza:
0%
Oda van írva.
2023. márc. 28. 17:47
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Jó de megoldás nem találtam rá. Ha már nem félnapja keresném akkor nem kérdezném meg.
2023. márc. 28. 17:50
 3/4 anonim ***** válasza:
27%
Ez esetben nem egyből apikkal kéne bohóckodni, hanem némi alapozás után be tudnád állítani a szerveredet rendesen.
2023. márc. 28. 17:58
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

Emberi nyelven: A backenden engedélyeznek kéne csinálnod valamilyen CORS configurációt. Ez a backendtől függ hogy kell, de a legprimitívebb beállítás, ha megmondod neki, hogy minden kérést szolgáljon ki mindenhonnan.


Egy fokkal normálisabb megoldás, ha beállítod, hogy X helyről (ahol a frontended fut) jövő kéréseket szolgálja ki, ami ide valszeg bőven elég.



ChatGPT-4 válasza viszont sokkal szebb, de elvontabb. Nem trollkodásból szúrom be. A ChatGPT 4-es változata tényleg elég jó válaszokat adni. Nem olvastam végig, de bizots jó:


A probléma, amellyel szembesülsz, a Same-Origin Policy (SOP) és a Cross-Origin Resource Sharing (CORS) szabályaihoz kapcsolódik. A CORS egy biztonsági mechanizmus, amely megakadályozza, hogy a böngészők más domainekről származó erőforrásokat töltsenek be, hacsak az adott erőforrás engedélyezi ezt a viselkedést.


A hibaüzenet azt jelenti, hogy a Cloudflare API-nak a válaszában nincs 'Access-Control-Allow-Origin' fejléc, és a böngésződ nem engedélyezi a kérést.


A probléma megoldásához a következő lépéseket teheted meg:


1. Ellenőrizd, hogy a Cloudflare API támogatja-e a CORS-t. Nézd meg a dokumentációjukat, és győződj meg róla, hogy a helyes kérést küldöd el.


2. Ha lehetséges, a kérést küldd el az API-nak a szerveroldalról, és ne a kliensoldalról. Ez általában megoldja a CORS problémákat, mivel a szerveroldali kérések nem tartoznak a böngészők Same-Origin Policy szabályai alá. Például használhatsz Node.js-t a szerveroldalon, hogy elküldd a kérést.


3. Ha a szerveroldali megoldás nem lehetséges, és a CORS támogatása nem áll rendelkezésre az API-nál, akkor proxy szerver létrehozását is fontolóra veheted. A proxy szerver a saját domaineden futtatott szerver, amely továbbítja a kéréseket az API felé, és hozzáadja a szükséges CORS fejléceket a válaszokhoz.


Megjegyzés: Ha a proxy szerver mellett döntesz, gondoskodj a biztonsági intézkedésekről, például azáltal, hogy korlátozod a proxy által engedélyezett eredeteket és API hívásokat, illetve véded az API kulcsokat.

2023. márc. 28. 21:32
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!