Witam , planuje w najbliższym czasie tworzyć aplikacje mobilne głównie dla siebie. Podczas tworzenia natrafiłem na taki problem w konsoli w przeglądarce ;
Access to XMLHttpRequest at 'https://moja-strona.pl/test.php' from origin 'http://localhost' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
i jeszcze taki
POST https://www.moja-strona.pl/test.php net::ERR_FAILED
Rozumiem, że jest to zabezpieczenie pomiędzy serwerami, jednak musi się dać jakoś to obejść,w jakiś sposób uzyskać uprawnienia do tej strony.
Czy mógłby ktoś opisać jak to ma wyglądać po stronie klienta i po stronie serwera?
Aktualnie wykonywałem klasyczne zapytanie ajax z tym, że url zewnętrzny na konkretny plik:
Po stronie klienta:
function CORS()
{
$.ajax({
url:"https://www.mojastrona.pl/app/test.php",
type: 'POST',
crossDomain: true,
data:{},
success:function(data)
{
alert(data);
},
error: function() {
alert('CORS error');
}
});
}
Oraz po stronie serwera:
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
echo "Przykladowy tekst";
?>
Próbowałem z tymi nagłówkami, czy bez nich, efekt taki sam. Oraz przykładowe kody z innych stron i dalej to samo.