Reputation: 978
I'm stumped on an issue I'm having with an HTTPS Ajax call in IE only. IE seems to think I'm making a crossdomain request, but I'm not. The following code is called from the page https://mydomain/customer_profile.php
:
$.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);
}
});
This request works just fine in every browser except IE. In IE, the error function returns "Error: Access is denied". Like I said, I'm completely stumped on this, so any insight or ideas would be great.
Upvotes: 7
Views: 5057
Reputation: 1303
I guess you are using the <base>
tag inside the head section of your HTML; right?
If it is pointing to http
instead of https
, that would break IE.
Upvotes: 3
Reputation: 549
try setting crossDomain to true in your request like this:
$.ajax({
type: 'post',
url: 'https://mydomain/ajax/retrieve_transaction_details.php',
data: /* my data is here */,
crossDomain: true,
success: function(response){
// do something with the response
},
error: function (xhr, ajaxOptions, thrownError){
alert(xhr.status);
alert(thrownError);
}
});
this should allow you to make the request regardless of whether it is cross-domain or not.
Upvotes: 2