CORS hatası, bir web sayfasının farklı bir alan adındaki (domain) API'ye tarayıcıdan istek atmaya çalışması ve sunucunun buna izin vermemesi durumunda oluşur.

Neden olur?

Bu bir güvenlik özelliğidir. Tarayıcı, izin verilmeyen kaynaklar arası istekleri engeller.

Hatalı kod

// tarayici konsolu:
// Access to fetch at 'api.baska.com' has been blocked by CORS policy

Doğru kod

// Cozum sunucu tarafindadir; sunucu su basligi gondermeli:
// Access-Control-Allow-Origin: https://senin-siten.com
// (Kendi sunucunda bu basligi ekleyerek izin verirsin.)

Kontrol listesi

  • CORS çözümü genelde sunucu tarafındadır; sunucu izin başlığı göndermeli.
  • Kendi API'nse Access-Control-Allow-Origin başlığını ekle.
  • Başkasının API'siyse, izin verilen bir yol (proxy veya resmi API anahtarı) kullan.

JavaScript derslerimizle bunu pekiştirebilirsin.