Fout: Failed to fetch
Controleer de volgende punten:
- CORS-instellingen in je Flask-app (
CORS(app)
). - Correcte API-URL in
kba-api.js
. - HTTPS-configuratie voor je server.
- Test je API direct met Postman of cURL.
- Controleer Render-logs voor serverfouten.
Gebruik de omgevingsvariabele $PORT
Render werkt met een dynamische poort:
- Render bepaalt zelf welke poort jouw applicatie moet gebruiken.
- Deze poort wordt in je applicatie beschikbaar gesteld via de omgevingsvariabele
$PORT
.
Als je statisch poort 5000 gebruikt, zal Render de verbinding niet herkennen omdat het probeert te verbinden met een andere poort, zoals 10000.
Aanpassen in app.py:
if __name__ == “__main__”: # Dynamische poort ophalen via $PORT port = int(os.environ.get(“PORT”, 5000)) # Default naar 5000 voor lokaal testen print(f”Server draait op poort {port}…”) serve(app, host=”0.0.0.0″, port=port)Fetch problemen / Probleem met CORS
Test je CORS-configuratie met een cURL-aanroep:
curl -i -X OPTIONS https://kba-project.onrender.com/kba
Controleer of de header Access-Control-Allow-Origin
wordt geretourneerd:
HTTP/1.1 204 No Content
Access-Control-Allow-Origin: https://yininit.nl
Access-Control-Allow-Methods: POST, OPTIONS
Access-Control-Allow-Headers: Content-Type
Als deze headers aanwezig zijn, is je CORS-configuratie correct.