Jestem zaskoczony problemem, który mam z wywołaniem Ajax HTTPS tylko w IE. Wydaje mi się, że IE generuje żądanie crossdomain, ale nie jestem. Poniższy kod jest nazywany ze strony https://mydomain/customer_profile.php
:Problemy z żądaniem Ajaxa HTTPS w IE (nie między domenami)
$.ajax({
type: 'post',
url: 'https://mydomain/ajax/retrieve_transaction_details.php',
data: /* my data is here */,
success: function(response){
// do something with the response
},
error: function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
Wniosek ten działa dobrze w każdej przeglądarce z wyjątkiem IE. W IE funkcja błędu zwraca "Błąd: Odmowa dostępu". Tak jak powiedziałem, jestem całkowicie zdumiony tym, więc każdy wgląd lub pomysły będą wspaniałe.
Wypróbuj bez 'https: // mydomain'. Tak więc spróbuj z URLem jako "/ajax/retrieve_transaction_details.php". –
Próbowałem tego. Bez względu na przyczynę, jeśli nie podam bezwzględnej ścieżki, inne przeglądarki próbują przesłać żądanie przez HTTP, a tym samym również je rozbić. –
Być może dodaj do przeglądarki przeglądarki, które będą podążały ścieżką, jeśli używają IE dla kompatybilności i jeśli używają jakiejkolwiek innej przeglądarki, a następnie przesyłają je do kodu, który już działa. – HenryGuy