Проблемы с запросом https Ajax в IE (не Crossdomain)

Я в тупике по вопросу, который у меня есть с вызовом https Ajax только в IE. IE, похоже, думает, что я делаю запрос crossdomain, но это не так. Следующий код вызывается со страницы 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);
    }
});

этот запрос отлично работает в каждом браузере, кроме IE. В IE функция error возвращает "Error: Access is denied". Как я уже сказал, я полностью в тупике, поэтому любое понимание или идеи были бы великолепны.

2 ответов


Я думаю, вы используете <base> бирка внутри глава раздел вашего HTML; правильно?

если он указывает на http вместо https, что бы сломать IE.


попробуйте установить crossDomain в true в вашем запросе следующим образом:

$.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);
    }
});

это должно позволить вам сделать запрос независимо от того, является кросс-домен или нет.