Jim D
Jim D

Reputation: 978

Problems with HTTPS Ajax Request In IE (Not Crossdomain)

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

Answers (2)

Nate
Nate

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

Phil W
Phil W

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

Related Questions