Проблемы с запросом 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);
}
});
это должно позволить вам сделать запрос независимо от того, является кросс-домен или нет.