Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
Access-Control-Allow-Origin sorununu nasıl çözeceğiz?

Açık 1 Cevaplar 331 Gösterim Php
Bir mobile uygulama yazdım ve json olarak gelen bilgiyi almam lazım. Ama uygulamamdan request attığım zaman aşağıdaki hatayı alıyorum. Sebebini kestirebiliyorum ama bunu nasıl çözebileceğim konusunda yardımcı olabilir misiniz?

Uygulama sunucu olarak PHP-Apache kullanıyorum.

XMLHttpRequest cannot load http://test.hasscript.com/tag/all. The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed. Origin 'http://localhost:8100' is therefore not allowed access.

1 cevap

0

Bu sorunun iki farklı konudan kaynaklanabiliyor. 

  • İstemci(client) uygulamanızdan istek yollandığı zaman sunucu uygulamanıza geldiğinde sizin uygulamanız içinde header kullanarak desteklemeniz gerekiyo

    <?php header("Access-Control-Allow-Origin: *");
    Bu şekilde halledilebiliyor sanıyorum. 
     
  • Fakat benim sorunumda istek(request) sunucu uygulamama kadar gelmiyordu. Direk apache tarafından durduruluyordu. Bunun düzeltilmesi içinse 
      Header set Access-Control-Allow-Origin "*"
    

    Bu satırın config dosyalarınızdan birine (ben .htaccess kullandım) koymanız gerekiyor. Böylelikle uygulama/web sunucunuz direk olarak bu işleme izin vermiş olacak.  Benim dosyamda aşağıdaki şekilde konumlandırdım.
    <Directory public_html/test/public>    
        Header set Access-Control-Allow-Origin *
    </Directory>

(4.4k puan)